Fix #13391 by checking for kind-GADTs
[ghc.git] / compiler / basicTypes / DataCon.hs-boot
1 module DataCon where
2
3 import GhcPrelude
4 import Var( TyVar, TyVarBinder )
5 import Name( Name, NamedThing )
6 import {-# SOURCE #-} TyCon( TyCon )
7 import FieldLabel ( FieldLabel )
8 import Unique ( Uniquable )
9 import Outputable ( Outputable, OutputableBndr )
10 import BasicTypes (Arity)
11 import {-# SOURCE #-} TyCoRep ( Type, ThetaType )
12
13 data DataCon
14 data DataConRep
15 data EqSpec
16 filterEqSpec :: [EqSpec] -> [TyVarBinder] -> [TyVarBinder]
17
18 dataConName      :: DataCon -> Name
19 dataConTyCon     :: DataCon -> TyCon
20 dataConUnivTyVarBinders :: DataCon -> [TyVarBinder]
21 dataConExTyVars  :: DataCon -> [TyVar]
22 dataConExTyVarBinders :: DataCon -> [TyVarBinder]
23 dataConSourceArity  :: DataCon -> Arity
24 dataConFieldLabels :: DataCon -> [FieldLabel]
25 dataConInstOrigArgTys  :: DataCon -> [Type] -> [Type]
26 dataConStupidTheta :: DataCon -> ThetaType
27 dataConFullSig :: DataCon
28                -> ([TyVar], [TyVar], [EqSpec], ThetaType, [Type], Type)
29
30 instance Eq DataCon
31 instance Uniquable DataCon
32 instance NamedThing DataCon
33 instance Outputable DataCon
34 instance OutputableBndr DataCon