Enum rustc_resolve::imports::ImportKind
source · 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,
additional_ids: (NodeId, NodeId),
},
Glob {
is_prelude: bool,
max_vis: Cell<Option<Visibility>>,
},
ExternCrate {
source: Option<Symbol>,
target: Ident,
},
MacroUse,
}
Expand description
Contains data for specific kinds of imports.
Variants
Single
Fields
source: Ident
source
in use prefix::source as target
.
target: Ident
target
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: bool
true
for ...::{self [as target]}
imports, false
otherwise.
nested: bool
Did this import result from a nested import? ie. use foo::{bar, baz};
Glob
ExternCrate
MacroUse
Trait Implementations
sourceimpl<'a> Clone for ImportKind<'a>
impl<'a> Clone for ImportKind<'a>
sourcefn clone(&self) -> ImportKind<'a>
fn clone(&self) -> ImportKind<'a>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto 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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
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: 112 bytes
Size for each variant:
Single
: 111 bytesGlob
: 7 bytesExternCrate
: 19 bytesMacroUse
: 0 bytes