| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
GHC.Tc.Instance.Class
Synopsis
- matchGlobalInst :: DynFlags -> Bool -> Class -> [Type] -> TcM ClsInstResult
- data ClsInstResult
- = NoInstance
- | OneInst {
- cir_new_theta :: [TcPredType]
- cir_mk_ev :: [EvExpr] -> EvTerm
- cir_what :: InstanceWhat
- | NotSure
- data InstanceWhat
- = BuiltinEqInstance
- | BuiltinTypeableInstance TyCon
- | BuiltinInstance
- | LocalInstance
- | TopLevInstance {
- iw_dfun_id :: DFunId
- iw_safe_over :: SafeOverlapping
- safeOverlap :: InstanceWhat -> Bool
- instanceReturnsDictCon :: InstanceWhat -> Bool
- data AssocInstInfo
- = NotAssociated
- | InClsInst { }
- isNotAssociated :: AssocInstInfo -> Bool
Documentation
matchGlobalInst :: DynFlags -> Bool -> Class -> [Type] -> TcM ClsInstResult Source #
data ClsInstResult Source #
Constructors
| NoInstance | |
| OneInst | |
Fields
| |
| NotSure | |
Instances
| Outputable ClsInstResult Source # | |
Defined in GHC.Tc.Instance.Class Methods ppr :: ClsInstResult -> SDoc # | |
data InstanceWhat Source #
Constructors
| BuiltinEqInstance | |
| BuiltinTypeableInstance TyCon | |
| BuiltinInstance | |
| LocalInstance | |
| TopLevInstance | |
Fields
| |
Instances
| Outputable InstanceWhat Source # | |
Defined in GHC.Tc.Instance.Class Methods ppr :: InstanceWhat -> SDoc # | |
safeOverlap :: InstanceWhat -> Bool Source #
data AssocInstInfo Source #
Extra information about the parent instance declaration, needed
when type-checking associated types. The Class is the enclosing
class, the [TyVar] are the scoped type variable of the instance decl.
The VarEnv Type maps class variables to their instance types.
Constructors
| NotAssociated | |
| InClsInst | |
Fields
| |
isNotAssociated :: AssocInstInfo -> Bool Source #