diff --git a/testsuite/tests/th/T5508.hs b/testsuite/tests/th/T5508.hs new file mode 100644 index 0000000000000000000000000000000000000000..ee82e8ff9b871c7eec0f18b0c010360e2ca74ae7 --- /dev/null +++ b/testsuite/tests/th/T5508.hs @@ -0,0 +1,9 @@ +{-# LANGUAGE TemplateHaskell #-} + +module T5508 where + +import Language.Haskell.TH + +thb = $(do { let x = mkName "x" + v = return (LamE [VarP x] $ VarE x) + ; [| $v . id |] }) diff --git a/testsuite/tests/th/T5508.stderr b/testsuite/tests/th/T5508.stderr new file mode 100644 index 0000000000000000000000000000000000000000..ff0383da7a7ec2f3ad4913740d05c9d9bb39b168 --- /dev/null +++ b/testsuite/tests/th/T5508.stderr @@ -0,0 +1,6 @@ +T5508.hs:(7,9)-(9,28): Splicing expression + do { let x = mkName "x" + v = return (LamE [VarP x] $ VarE x); + [| $v . id |] } + ======> + ((\ x -> x) . id) diff --git a/testsuite/tests/th/all.T b/testsuite/tests/th/all.T index 9d588eb07ed420fa020d5151d81e18b999d86027..1adf31322716b57d6487517eb4e52cae4e5d82c6 100644 --- a/testsuite/tests/th/all.T +++ b/testsuite/tests/th/all.T @@ -207,3 +207,4 @@ test('TH_lookupName', test('T5452', normal, compile, ['-v0']) test('T5434', extra_clean(['T5434a.hi','T5434a.o']), multimod_compile, ['T5434','-v0 -Wall']) +test('T5508', normal, compile, ['-v0 -ddump-splices'])