Expand description
HIR ty lowering: Lowers type-system entities1 from the HIR to
the rustc_middle::ty
representation.
Not to be confused with AST lowering which lowers AST constructs to HIR ones or with THIR / MIR lowering / building which lowers HIR bodies (i.e., “executable code”) to THIR / MIR.
Most lowering routines are defined on dyn HirTyLowerer
directly,
like the main routine of this module, lower_ty
.
This module used to be called astconv
.
This includes types, lifetimes / regions, constants in type positions, trait references and bounds. ↩
Modules§
Structs§
- Generic
ArgCount Mismatch - A marker denoting that the generic arguments that were provided did not match the respective generic parameters.
- Generic
ArgCount Result - Decorates the result of a generic argument count mismatch check with whether explicit late bounds were provided.
- Generic
Path Segment - A path segment that is semantically allowed to have generic arguments.
Enums§
- Assoc
ItemQ 🔒Self - The “qualified self” of an associated item path.
- Explicit
Late Bound - New-typed boolean indicating whether explicit late-bound lifetimes are present in a set of generic arguments.
- Feed
Const Ty - In some cases,
hir::ConstArg
s that are being used in the type system through const generics need to have their type “fed” to them using the query system. - Generic
ArgPosition 🔒 - Denotes the “position” of a generic argument, indicating if it is a generic type, generic function or generic method call.
- IsMethod
Call - Predicate
Filter - Region
Infer Reason
Traits§
- Generic
Args Lowerer - A context which can lower HIR’s
GenericArg
torustc_middle
’sty::GenericArg
. - HirTy
Lowerer - A context which can lower type-system entities from the HIR to
the
rustc_middle::ty
representation.