| Safe Haskell | None | 
|---|---|
| Language | Haskell2010 | 
ClsInst
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
- = BuiltinInstance
 - | LocalInstance
 - | TopLevInstance { 
- iw_dfun_id :: DFunId
 - iw_safe_over :: SafeOverlapping
 
 
 - safeOverlap :: 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
data InstanceWhat Source #
Constructors
| BuiltinInstance | |
| LocalInstance | |
| TopLevInstance | |
Fields 
  | |
Instances
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 | |
isNotAssociated :: AssocInstInfo -> Bool Source #