| 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- = BuiltinInstance
- | BuiltinEqInstance
- | 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 #
data ClsInstResult #
Constructors
| NoInstance | |
| OneInst | |
| Fields 
 | |
| NotSure | |
Instances
| Outputable ClsInstResult # | |
| Defined in GHC.Tc.Instance.Class | |
data InstanceWhat #
Constructors
| BuiltinInstance | |
| BuiltinEqInstance | |
| LocalInstance | |
| TopLevInstance | |
| Fields 
 | |
Instances
| Outputable InstanceWhat # | |
| Defined in GHC.Tc.Instance.Class | |
safeOverlap :: InstanceWhat -> Bool #
data AssocInstInfo #
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 #