| Safe Haskell | None |
|---|---|
| Language | GHC2021 |
GHC.Tc.TyCl
Description
Typecheck type and class declarations
Documentation
tcTyAndClassDecls :: [TyClGroup GhcRn] -> TcM (TcGblEnv, [InstInfo GhcRn], [DerivInfo], ThBindEnv) #
kcConDecls :: TcKind -> DataDefnCons (LConDecl GhcRn) -> TcM () #
tcConDecls :: DataDeclInfo -> KnotTied TyCon -> [TcTyConBinder] -> TcKind -> DataDefnCons (LConDecl GhcRn) -> TcM (DataDefnCons DataCon) #
data DataDeclInfo #
Constructors
| DDataType | |
| DDataInstance Type |
dataDeclChecks :: Name -> Maybe (LHsContext GhcRn) -> DataDefnCons (LConDecl GhcRn) -> TcM Bool #
checkValidTyCon :: TyCon -> TcM () #
tcFamTyPats :: TyCon -> HsFamEqnPats GhcRn -> TcM (TcType, TcKind) #
tcTyFamInstEqn :: TcTyCon -> AssocInstInfo -> LTyFamInstEqn GhcRn -> TcM (KnotTied CoAxBranch, TyFamEqnValidityInfo) #
tcAddOpenTyFamInstCtxt :: AssocInstInfo -> TyFamInstDecl GhcRn -> TcM a -> TcM a #
tcMkDataFamInstCtxt :: AssocInstInfo -> NewOrData -> DataFamInstDecl GhcRn -> ErrCtxtMsg #
tcAddDataFamInstCtxt :: AssocInstInfo -> NewOrData -> DataFamInstDecl GhcRn -> TcM a -> TcM a #
unravelFamInstPats :: TcType -> [TcType] #
addConsistencyConstraints :: AssocInstInfo -> TcType -> TcM () #
checkFamTelescope :: TcLevel -> HsOuterFamEqnTyVarBndrs GhcRn -> [TcTyVar] -> TcM () #
data IsPrefixConGADT #
Constructors
| IsPrefixConGADT | |
| IsNotPrefixConGADT |
Instances
| Eq IsPrefixConGADT # | |
Defined in GHC.Tc.TyCl Methods (==) :: IsPrefixConGADT -> IsPrefixConGADT -> Bool Source # (/=) :: IsPrefixConGADT -> IsPrefixConGADT -> Bool Source # | |
unannotatedMultIsLinear :: IsPrefixConGADT -> TcRnIf gbl lcl Bool #