summaryrefslogtreecommitdiff
path: root/testsuite/tests/ghc-regress/deriving/should_compile/drv-functor1.hs
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/tests/ghc-regress/deriving/should_compile/drv-functor1.hs')
-rw-r--r--testsuite/tests/ghc-regress/deriving/should_compile/drv-functor1.hs65
1 files changed, 0 insertions, 65 deletions
diff --git a/testsuite/tests/ghc-regress/deriving/should_compile/drv-functor1.hs b/testsuite/tests/ghc-regress/deriving/should_compile/drv-functor1.hs
deleted file mode 100644
index 8249858cae..0000000000
--- a/testsuite/tests/ghc-regress/deriving/should_compile/drv-functor1.hs
+++ /dev/null
@@ -1,65 +0,0 @@
-{-# LANGUAGE DeriveFunctor #-}
-{-# LANGUAGE ExistentialQuantification #-}
-{-# LANGUAGE RankNTypes #-}
-{-# LANGUAGE FlexibleContexts #-}
-{-# LANGUAGE DatatypeContexts #-}
-
-module ShouldCompile where
-
-data Trivial a = Trivial
- deriving (Functor)
-
-data Fun a = Fun (Int -> a)
- deriving (Functor)
-
--- lots of different things
-data Strange a b c
- = T1 a b c
- | T2 [a] [b] [c] -- lists
- | T3 [[a]] [[b]] [[c]] -- nested lists
- | T4 (c,(b,b),(c,c)) -- tuples
- | T5 ([c],Strange a b c) -- tycons
- | T6 (Int -> c) -- function types
- | T7 (a -> (c,a)) -- functions and tuples
- | T8 ((c -> a) -> a) -- continuation
- deriving (Functor)
-
-data NotPrimitivelyRecursive a
- = S1 (NotPrimitivelyRecursive (a,a))
- | S2 a
- deriving (Functor,Eq)
-
-data Eq a => StupidConstraint a b = Stupid a b
- deriving (Functor)
-
--- requires Functor constraint on f and g
-data Compose f g a = Compose (f (g a))
- deriving (Functor)
-
--- We can't derive Functor for the following type.
--- it needs both (Functor (f Int)) and (Functor (f Bool))
--- i.e.:
--- instance (Functor (f Bool), Functor (f Int)) => Functor (ComplexConstraint f)
--- This requires FlexibleContexts and UndecidableInstances
-data ComplexConstraint f a = ComplexContraint (f Int (f Bool a,a))
--- deriving (Functor)
-
-data Universal a
- = Universal (forall b. (b,[a]))
- | Universal2 (forall f. Functor f => (f a))
- | Universal3 (forall a. a -> Int) -- reuse a
- | NotReallyUniversal (forall b. a)
- deriving (Functor)
-
--- Ghc doesn't allow deriving for non-Haskell98 data constructors
-data Existential b
- = forall a. ExistentialList [a]
- | forall f. Functor f => ExistentialFunctor (f b)
- | forall b. SneakyUseSameName (b -> Bool)
- -- deriving (Functor)
-
--- Don't get confused by synonyms
-type IntFun a = Int -> a
-data IntFunD a = IntFunD (IntFun a)
- deriving (Functor)
-