Struct rustc_resolve::imports::Import [−][src]
pub(crate) struct Import<'a> {Show 13 fields
pub kind: ImportKind<'a>,
pub id: NodeId,
pub root_id: NodeId,
pub use_span: Span,
pub use_span_with_attributes: Span,
pub has_attributes: bool,
pub span: Span,
pub root_span: Span,
pub parent_scope: ParentScope<'a>,
pub module_path: Vec<Segment>,
pub imported_module: Cell<Option<ModuleOrUniformRoot<'a>>>,
pub vis: Cell<Visibility>,
pub used: Cell<bool>,
}Expand description
One import.
Fields
kind: ImportKind<'a>id: NodeIdThe ID of the extern crate, UseTree etc that imported this Import.
In the case where the Import was expanded from a “nested” use tree,
this id is the ID of the leaf tree. For example:
use foo::bar::{a, b}If this is the import for foo::bar::a, we would have the ID of the UseTree
for a in this field.
root_id: NodeIdThe id of the “root” use-kind – this is always the same as
id except in the case of “nested” use trees, in which case
it will be the id of the root use tree. e.g., in the example
from id, this would be the ID of the use foo::bar
UseTree node.
use_span: SpanSpan of the entire use statement.
use_span_with_attributes: SpanSpan of the entire use statement with attributes.
has_attributes: boolDid the use statement have any attributes?
span: SpanSpan of this use tree.
root_span: SpanSpan of the root use tree (see root_id).
parent_scope: ParentScope<'a>module_path: Vec<Segment>imported_module: Cell<Option<ModuleOrUniformRoot<'a>>>The resolution of module_path.
vis: Cell<Visibility>used: Cell<bool>Implementations
Trait Implementations
Auto Trait Implementations
impl<'a> !RefUnwindSafe for Import<'a>
impl<'a> !UnwindSafe for Import<'a>
Blanket Implementations
Mutably borrows from an owned value. Read more
Layout
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 240 bytes