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
Single
Fields
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};
Glob
ExternCrate
MacroUse
Trait Implementations
Auto Trait Implementations
impl<'a> !RefUnwindSafe for ImportKind
impl<'a> !Send for ImportKind
impl<'a> !Sync for ImportKind
impl<'a> Unpin for ImportKind
impl<'a> !UnwindSafe for ImportKind
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: 104 bytes
Size for each variant:
Single: 103 bytesGlob: 11 bytesExternCrate: 19 bytesMacroUse: 0 bytes
