Instances1Outputable
Outputable RankDefined in ghc-9.10.3 · GHC.Tc.Types.Rank
:: a typeCtrl KGHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05
Moduleghc-9.10.3GHC2021
Outputable RankDefined in ghc-9.10.3 · 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 NamePatSigCtxtRuleSigCtxt FastString NameForSigCtxt NameDefaultDeclCtxtInstDeclCtxt BoolSpecInstCtxtGenSigCtxtGhciCtxt BoolClassSCCtxt NameSigmaCtxtDataTyCtxt NameDerivClauseCtxtTyVarBndrKindCtxt NameDataKindCtxt NameTySynKindCtxt NameTyFamResKindCtxt NameEq UserTypeCtxtDefined in ghc-9.10.3 · 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.