summaryrefslogtreecommitdiff
path: root/tests/examples/ghc86/T10819.hs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/examples/ghc86/T10819.hs')
-rw-r--r--tests/examples/ghc86/T10819.hs28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/examples/ghc86/T10819.hs b/tests/examples/ghc86/T10819.hs
new file mode 100644
index 0000000..d3d271b
--- /dev/null
+++ b/tests/examples/ghc86/T10819.hs
@@ -0,0 +1,28 @@
+{-# LANGUAGE FunctionalDependencies #-}
+{-# LANGUAGE GeneralizedNewtypeDeriving #-}
+{-# LANGUAGE MultiParamTypeClasses #-}
+{-# LANGUAGE TemplateHaskell #-}
+
+module T10819 where
+
+import T10819_Lib
+
+import Language.Haskell.TH.Syntax
+
+class C a b | b -> a where
+ f :: b -> a
+
+data D = X
+
+instance C Int D where
+ f X = 2
+
+$(doSomeTH "N" (mkName "D")
+ [DerivClause Nothing [ConT (mkName "C") `AppT` ConT (mkName "Int")]])
+
+thing :: N
+thing = N X
+
+thing1 :: Int
+thing1 = f thing
+