diff options
Diffstat (limited to 'testsuite/tests/deriving/should_compile/T3965.hs')
-rw-r--r-- | testsuite/tests/deriving/should_compile/T3965.hs | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/testsuite/tests/deriving/should_compile/T3965.hs b/testsuite/tests/deriving/should_compile/T3965.hs new file mode 100644 index 0000000000..99217acba6 --- /dev/null +++ b/testsuite/tests/deriving/should_compile/T3965.hs @@ -0,0 +1,18 @@ +{-# LANGUAGE DeriveDataTypeable, FlexibleContexts, StandaloneDeriving, TypeOperators, UndecidableInstances #-} +module T3965 where + +import Data.Data + +data T f e = Inl (f e) deriving (Data, Typeable, Eq) + +newtype Expr f = In (f (Expr f)) deriving Typeable + +deriving instance (Typeable a, Data (a (Expr a))) => Data (Expr a) + +data Var e = Var String deriving (Data, Eq, Typeable) + +data Domain e g = Domain + (Expr (T Var)) + deriving (Data, Typeable) + + |