Repository : ssh://darcs.haskell.org//srv/darcs/testsuite

On branch  : master

http://hackage.haskell.org/trac/ghc/changeset/cc82e90372c4aea48074ba476661d3ca8eab5d6f

>---------------------------------------------------------------

commit cc82e90372c4aea48074ba476661d3ca8eab5d6f
Author: Simon Peyton Jones <simo...@microsoft.com>
Date:   Wed Jan 2 12:35:26 2013 +0000

    Test Trac #7532

>---------------------------------------------------------------

 tests/th/T7532.hs     |   11 +++++++++++
 tests/th/T7532.stderr |   20 ++++++++++++++++++++
 tests/th/T7532a.hs    |   15 +++++++++++++++
 tests/th/all.T        |    4 ++++
 4 files changed, 50 insertions(+), 0 deletions(-)

diff --git a/tests/th/T7532.hs b/tests/th/T7532.hs
new file mode 100644
index 0000000..3a641ea
--- /dev/null
+++ b/tests/th/T7532.hs
@@ -0,0 +1,11 @@
+{-# OPTIONS_GHC -ddump-rn -ddump-splices #-}
+{-# LANGUAGE TemplateHaskell, TypeFamilies #-}
+module T7532 where
+
+import Language.Haskell.TH
+import T7532a
+
+instance C Bool where
+  data D Bool = MkD
+
+$(bang)
diff --git a/tests/th/T7532.stderr b/tests/th/T7532.stderr
new file mode 100644
index 0000000..03f0cf7
--- /dev/null
+++ b/tests/th/T7532.stderr
@@ -0,0 +1,20 @@
+
+==================== Renamer ====================
+instance C Bool where
+  data D Bool = T7532.MkD
+
+
+==================== Renamer ====================
+bang
+
+T7532.hs:1:1: Splicing declarations
+    bang
+  ======>
+    T7532.hs:11:3-6
+    instance C Int where
+      data D Int = T
+
+==================== Renamer ====================
+instance C Int where
+  data D Int = T7532.T
+
diff --git a/tests/th/T7532a.hs b/tests/th/T7532a.hs
new file mode 100644
index 0000000..5a5f45a
--- /dev/null
+++ b/tests/th/T7532a.hs
@@ -0,0 +1,15 @@
+{-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE TypeFamilies #-}
+
+module T7532a where
+
+import Language.Haskell.TH
+
+class C a where
+     data D a
+
+bang :: DecsQ
+bang = return [
+     InstanceD [] (AppT (ConT ''C) (ConT ''Int)) [
+         DataInstD [] ''D [ConT ''Int] [
+             NormalC (mkName "T") []] []]] 
diff --git a/tests/th/all.T b/tests/th/all.T
index 1a97cff..21464d2 100644
--- a/tests/th/all.T
+++ b/tests/th/all.T
@@ -263,3 +263,7 @@ test('TH_TyInstWhere4', normal, compile, ['-v0'])
 test('T7445', extra_clean(['T7445a.hi', 'T7445a.o']),
              run_command,
              ['$MAKE -s --no-print-directory T7445'] )
+test('T7532',
+     extra_clean(['T7532a.hi', 'T7532a.o']),
+     multimod_compile,
+     ['T7532', '-v0'])



_______________________________________________
Cvs-ghc mailing list
Cvs-ghc@haskell.org
http://www.haskell.org/mailman/listinfo/cvs-ghc

Reply via email to