summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--testsuite/tests/th/T1849.script10
-rw-r--r--testsuite/tests/th/T1849.stdout6
-rw-r--r--testsuite/tests/th/all.T1
3 files changed, 17 insertions, 0 deletions
diff --git a/testsuite/tests/th/T1849.script b/testsuite/tests/th/T1849.script
new file mode 100644
index 0000000000..861b8d43d3
--- /dev/null
+++ b/testsuite/tests/th/T1849.script
@@ -0,0 +1,10 @@
+:set -XTemplateHaskell
+import Language.Haskell.TH
+let seeType n = do VarI _ t _ _ <- reify n; runIO $ putStrLn $ show t; [| return True |]
+let f = undefined :: Int -> Int
+let g = undefined :: [Int]
+let h = undefined :: (Int, Int)
+$(seeType (mkName "f"))
+$(seeType (mkName "g"))
+$(seeType (mkName "h"))
+
diff --git a/testsuite/tests/th/T1849.stdout b/testsuite/tests/th/T1849.stdout
new file mode 100644
index 0000000000..3d48e778a5
--- /dev/null
+++ b/testsuite/tests/th/T1849.stdout
@@ -0,0 +1,6 @@
+AppT (AppT ArrowT (ConT GHC.Types.Int)) (ConT GHC.Types.Int)
+True
+AppT ListT (ConT GHC.Types.Int)
+True
+AppT (AppT (TupleT 2) (ConT GHC.Types.Int)) (ConT GHC.Types.Int)
+True
diff --git a/testsuite/tests/th/all.T b/testsuite/tests/th/all.T
index 9eedda7a3b..2d190dd5c7 100644
--- a/testsuite/tests/th/all.T
+++ b/testsuite/tests/th/all.T
@@ -268,3 +268,4 @@ test('T7532',
multimod_compile,
['T7532', '-v0'])
test('T2222', normal, compile, ['-v0'])
+test('T1849', normal, ghci_script, ['T1849.script'])