Instances1Outputable
Outputable RankDefined in ghc-9.14.1 · GHC.Tc.Types.Rank
:: a typeCtrl KGHC 9.14.1 · lts/ghc-9.14.x · 3e2d568 · 2026-10-11
Moduleghc-9.14.1GHC2021
Outputable RankDefined in ghc-9.14.1 · GHC.Tc.Types.RankUserTypeCtxt describes the origin of the polymorphic type in the places where we need an expression to have that type
FunSigCtxt Name ReportRedundantConstraintsInfSigCtxt NameExprSigCtxt ReportRedundantConstraintsKindSigCtxtStandaloneKindSigCtxt NameTypeAppCtxtConArgCtxt NameTySynCtxt NamePatSynCtxt NamePatSigCtxtForSigCtxt NameDefaultDeclCtxtInstDeclCtxt BoolSpecInstCtxtGenSigCtxtGhciCtxt BoolClassSCCtxt NameSigmaCtxtDataTyCtxt NameDerivClauseCtxtTyVarBndrKindCtxt NameRuleBndrTypeCtxt NameDataKindCtxt NameTySynKindCtxt NameTyFamResKindCtxt NameEq UserTypeCtxtDefined in ghc-9.14.1 · GHC.Tc.Types.OrigincheckFamPatBinders Check binders for a type or data family declaration.
Specifically, this function checks for:
type variables used on the RHS but not bound (explicitly or implicitly) in the LHS,
variables bound by a forall in the LHS but not used in the RHS.
See Note [Check type family instance binders].
Perform scoping check on a type family equation.
See TyFamEqnValidityInfo.
Do validity checks on a type family equation, including consistency with any enclosing class instance head, termination, and lack of polytypes.
See also the separate checkFamPatBinders which performs scoping checks on a type family equation. (It's separate because it expects TyFamEqnValidityInfo, which comes from a separate place e.g. for associated type defaults.)
Checks that an associated type family default:
Only consists of arguments that are bare type variables, and
Has a distinct type variable in each argument.
See Note [Type-checking default assoc decls] in GHC.Tc.TyCl.