Enum rustc_resolve::imports::ImportKind [−][src]
pub enum ImportKind<'a> {
Single {
source: Ident,
target: Ident,
source_bindings: PerNS<Cell<Result<&'a NameBinding<'a>, Determinacy>>>,
target_bindings: PerNS<Cell<Option<&'a NameBinding<'a>>>>,
type_ns_only: bool,
nested: bool,
},
Glob {
is_prelude: bool,
max_vis: Cell<Visibility>,
},
ExternCrate {
source: Option<Symbol>,
target: Ident,
},
MacroUse,
}Expand description
Contains data for specific kinds of imports.
Variants
Show fields
Fields of Single
source: Identsource in use prefix::source as target.
target: Identtarget in use prefix::source as target.
source_bindings: PerNS<Cell<Result<&'a NameBinding<'a>, Determinacy>>>Bindings to which source refers to.
target_bindings: PerNS<Cell<Option<&'a NameBinding<'a>>>>Bindings introduced by target.
type_ns_only: booltrue for ...::{self [as target]} imports, false otherwise.
nested: boolDid this import result from a nested import? ie. use foo::{bar, baz};
Show fields
Fields of Glob
is_prelude: boolmax_vis: Cell<Visibility>Trait Implementations
Auto Trait Implementations
impl<'a> !RefUnwindSafe for ImportKind<'a>impl<'a> !Send for ImportKind<'a>impl<'a> !Sync for ImportKind<'a>impl<'a> Unpin for ImportKind<'a>impl<'a> !UnwindSafe for ImportKind<'a>Blanket Implementations
Mutably borrows from an owned value. Read more
Layout
Note: Most layout information is completely unstable and may be different between compiler versions and platforms. 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: 104 bytes