Module hir_ty_lowering

Source
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.


  1. This includes types, lifetimes / regions, constants in type positions, trait references and bounds. 

Modules§

bounds 🔒
cmse 🔒
dyn_compatibility 🔒
errors
generics
lint 🔒

Structs§

GenericArgCountMismatch
A marker denoting that the generic arguments that were provided did not match the respective generic parameters.
GenericArgCountResult
Decorates the result of a generic argument count mismatch check with whether explicit late bounds were provided.
GenericPathSegment
A path segment that is semantically allowed to have generic arguments.

Enums§

AssocItemQSelf 🔒
The “qualified self” of an associated item path.
ExplicitLateBound
New-typed boolean indicating whether explicit late-bound lifetimes are present in a set of generic arguments.
FeedConstTy
In some cases, hir::ConstArgs that are being used in the type system through const generics need to have their type “fed” to them using the query system.
GenericArgPosition 🔒
Denotes the “position” of a generic argument, indicating if it is a generic type, generic function or generic method call.
IsMethodCall
PredicateFilter
RegionInferReason

Traits§

GenericArgsLowerer
A context which can lower HIR’s GenericArg to rustc_middle’s ty::GenericArg.
HirTyLowerer
A context which can lower type-system entities from the HIR to the rustc_middle::ty representation.