Struct rustc_resolve::Rib [−][src]
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
One local scope.
A rib represents a scope names can live in. Note that these appear in many places, not just
around braces. At any place where the list of accessible names (of the given namespace)
changes or a new restrictions on the name accessibility are introduced, a new rib is put onto a
stack. This may be, for example, a let
statement (because it introduces variables), a macro,
etc.
Different rib kinds are transparent for different names.
The resolution keeps a separate stack of ribs as it traverses the AST for each namespace. When resolving, the name is looked up from inside out.
Fields
bindings: FxHashMap<Ident, Def>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
kind: RibKind<'a>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?
Methods
impl<'a> Rib<'a>
[src]
impl<'a> Rib<'a>
fn new(kind: RibKind<'a>) -> Rib<'a>
[src]
fn new(kind: RibKind<'a>) -> Rib<'a>
🔬 This is a nightly-only experimental API. (rustc_private
)
this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml
instead?