Moduleghc-10.0.0.20260917GHC2024
GHC.Rename.Utils
Synopsis
- value checkDupRdrNames
- value checkShadowedRdrNames
- value checkDupNames
- value checkDupAndShadowedNames
- value dupNamesErr
- value checkTupSize
- value checkCTupSize
- value addFvRn
- value mapFvRn
- value mapMaybeFvRn
- value warnUnusedMatches
- value warnUnusedTypePatterns
- value warnUnusedTopBinds
- value warnUnusedLocalBinds
- data DeprecationWarnings
- value warnIfDeprecated
- value checkUnusedRecordWildcard
- value badQualBndrErr
- value typeAppErr
- value badFieldConErr
- value wrapGenSpan
- value wrapGenSpan'
- value wrapNoSpan
- value genHsVar
- value genLHsVar
- value genHsApp
- value genHsApps
- value genHsApps'
- value genHsExpApps
- value genLHsApp
- value genAppType
- value genLHsLit
- value genHsIntegralLit
- value genHsTyLit
- value genSimpleConPat
- value genVarPat
- value genWildPat
- value genSimpleFunBind
- value genFunBind
- value genHsLamDoExp
- value genHsCaseAltDoExp
- value genSimpleMatch
- value genHsLet
- value mkExpandedRn
- value mkExpandedExpr
- value mkExpandedStmt
- value mkExpandedLExpr
- value mkExpandedTc
- value mkExpandedExprTc
- value mkRnSyntaxExpr
- value newLocalBndrRn
- value newLocalBndrsRn
- value bindLocalNames
- value bindLocalNamesFV
- value delLocalNames
- value addNameClashErrRn
- value mkNameClashErr
- value checkInferredVars
- value noNestedForallsContextsErr
- value addNoNestedForallsContextsErr
- Packageghc-10.0.0.20260917
- Exports60
- LanguageGHC2024
- LicenceBSD-3-Clause
- SourceUtils.hs
Ensure that a boxed or unboxed tuple has arity no larger than mAX_TUPLE_SIZE.
Ensure that a constraint tuple has arity no larger than mAX_CTUPLE_SIZE.
Whether to report deprecation warnings when registering a used GRE
There is no option to only emit declaration warnings since everywhere we emit the declaration warnings we also emit export warnings (See Note [Handling of deprecations] for details)
Checks to see if we need to warn for -Wunused-record-wildcards or -Wredundant-record-wildcards
Keeps the span given to the Name for the application head only
mkExpandedRn mkExpandedExpr Build an expression using the extension constructor XExpr, and the two components of the expansion: original expression and expanded expressions.
mkExpandedStmt :: ExprLStmt GhcRnsource statement context
-> HsDoFlavoursource statements do flavour
-> HsExpr GhcRnexpanded expression
-> HsExpr GhcRnsuitably wrapped XXExprGhcRn
Build an expression using the extension constructor XExpr, and the two components of the expansion: original do stmt and expanded expression
mkExpandedLExpr mkExpandedTc mkExpandedExprTc Build a XXExprGhcRn out of an extension constructor, and the two components of the expansion: original and expanded typechecked expressions.
Make a SyntaxExpr from a Name (the "rn" is because this is used in the renamer).
Throw an error message if a user attempts to quantify an inferred type
variable in a place where specificity cannot be observed. For example,
forall {a}. [a] -> [a] would be rejected to the inferred type variable
{a}, but forall a. [a] -> [a] would be accepted.
See Note [Unobservably inferred type variables].
Examines a non-outermost type for foralls or contexts, which are assumed
to be nested. For example, in the following declaration:
instance forall a. forall b. C (Either a b)
The outermost forall a is fine, but the nested forall b is not. We
invoke noNestedForallsContextsErr on the type forall b. C (Either a b)
to catch the nested forall and create a suitable error message.
noNestedForallsContextsErr returns Just err_msg if such a forall or
context is found, and returns Nothing otherwise.
This is currently used in the following places:
In GADT constructor types (in
rnConDecl). SeeNote [GADT abstract syntax] (Wrinkle: No nested foralls or contexts)in GHC.Hs.Type.In instance declaration types (in
rnClsIntDeclandrnSrcDerivDeclin GHC.Rename.Module andrenameSigin GHC.Rename.Bind). SeeNote [No nested foralls or contexts in instance types]in GHC.Hs.Type.
A common way to invoke noNestedForallsContextsErr.