summaryrefslogtreecommitdiff
path: root/testsuite/tests/driver/T12983/src
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/driver/T12983/src')
-rw-r--r--testsuite/tests/driver/T12983/src/MetaHandler.hs10
-rw-r--r--testsuite/tests/driver/T12983/src/New_Hospital.hs6
-rw-r--r--testsuite/tests/driver/T12983/src/Old_Hospital.hs4
-rw-r--r--testsuite/tests/driver/T12983/src/ShortText.hs6
-rw-r--r--testsuite/tests/driver/T12983/src/Types.hs10
5 files changed, 36 insertions, 0 deletions
diff --git a/testsuite/tests/driver/T12983/src/MetaHandler.hs b/testsuite/tests/driver/T12983/src/MetaHandler.hs
new file mode 100644
index 0000000000..87b48db36c
--- /dev/null
+++ b/testsuite/tests/driver/T12983/src/MetaHandler.hs
@@ -0,0 +1,10 @@
+{-# LANGUAGE TemplateHaskell #-}
+module Main where
+
+import qualified Types
+
+-- splices in "string :: String"
+$(Types.genCode)
+
+main :: IO ()
+main = putStrLn string
diff --git a/testsuite/tests/driver/T12983/src/New_Hospital.hs b/testsuite/tests/driver/T12983/src/New_Hospital.hs
new file mode 100644
index 0000000000..2cbd21401c
--- /dev/null
+++ b/testsuite/tests/driver/T12983/src/New_Hospital.hs
@@ -0,0 +1,6 @@
+module Hospital where
+
+import ShortText
+
+foo :: Int -> String
+foo i = toString (ShortText (show i))
diff --git a/testsuite/tests/driver/T12983/src/Old_Hospital.hs b/testsuite/tests/driver/T12983/src/Old_Hospital.hs
new file mode 100644
index 0000000000..4a0819ea58
--- /dev/null
+++ b/testsuite/tests/driver/T12983/src/Old_Hospital.hs
@@ -0,0 +1,4 @@
+module Hospital where
+
+foo :: Int -> String
+foo i = show i
diff --git a/testsuite/tests/driver/T12983/src/ShortText.hs b/testsuite/tests/driver/T12983/src/ShortText.hs
new file mode 100644
index 0000000000..88ca2cf6bc
--- /dev/null
+++ b/testsuite/tests/driver/T12983/src/ShortText.hs
@@ -0,0 +1,6 @@
+module ShortText where
+
+data ShortText = ShortText String
+
+toString :: ShortText -> String
+toString (ShortText s) = s
diff --git a/testsuite/tests/driver/T12983/src/Types.hs b/testsuite/tests/driver/T12983/src/Types.hs
new file mode 100644
index 0000000000..20602dfd85
--- /dev/null
+++ b/testsuite/tests/driver/T12983/src/Types.hs
@@ -0,0 +1,10 @@
+{-# LANGUAGE TemplateHaskell #-}
+module Types where
+
+import qualified Hospital
+import Language.Haskell.TH
+
+genCode :: Q [Dec]
+genCode =
+ let s = Hospital.foo 5
+ in [d|string = s|]