Module rustc_resolve::late
source · Expand description
“Late resolution” is the pass that resolves most of names in a crate beside imports and macros. It runs when the crate is fully expanded and its module structure is fully built. So it just walks through the crate and resolves all the expressions, types, etc.
If you wonder why there’s no early.rs
, that’s because it’s split into three files -
build_reduced_graph.rs
, macros.rs
and imports.rs
.
Modules
Resolution of early vs late bound lifetimes.
Structs
Rib 🔒
A single local scope.
Enums
May this constant have generics?
Does this the item (from the item rib scope) allow generic parameters?
Denotes whether the context for the set of already bound bindings is a
Product
or Or
context. This is used in e.g., fresh_binding
and resolve_pattern_inner
.
See those functions for more information.RibKind 🔒
The rib kind restricts certain accesses,
e.g. to a
Res::Local
of an outer item.