Struct ra_ap_hir_def::nameres::DefMap[][src]

pub struct DefMap { /* fields omitted */ }
Expand description

Contains the results of (early) name resolution.

A DefMap stores the module tree and the definitions that are in scope in every module after item-level macros have been expanded.

Every crate has a primary DefMap whose root is the crate’s main file (main.rs/lib.rs), computed by the crate_def_map query. Additionally, every block expression introduces the opportunity to write arbitrary item and module hierarchies, and thus gets its own DefMap that is computed by the block_def_map query.

Implementations

Ascends the DefMap hierarchy and calls f with every DefMap and containing module.

If f returns Some(val), iteration is stopped and Some(val) is returned. If f returns None, iteration continues.

If this DefMap is for a block expression, returns the module containing the block (which might again be a block, or a module inside a block).

Returns the module containing local_mod, either the parent mod, or the module containing the block, if self corresponds to a block expression.

Get a reference to the def map’s diagnostics.

Trait Implementations

Formats the value using the given formatter. Read more

The returned type after indexing.

Performs the indexing (container[index]) operation. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Compare self to key and return true if they are equal.

Performs the conversion.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.