Enum rustc_resolve::imports::ImportKind
source · pub(crate) enum ImportKind<'a> {
Single {
source: Ident,
target: Ident,
source_bindings: PerNS<Cell<Result<Interned<'a, NameBindingData<'a>>, Determinacy>>>,
target_bindings: PerNS<Cell<Option<Interned<'a, NameBindingData<'a>>>>>,
type_ns_only: bool,
nested: bool,
id: NodeId,
},
Glob {
is_prelude: bool,
max_vis: Cell<Option<Visibility>>,
id: NodeId,
},
ExternCrate {
source: Option<Symbol>,
target: Ident,
id: NodeId,
},
MacroUse {
warn_private: bool,
},
MacroExport,
}
Expand description
Contains data for specific kinds of imports.
Variants§
Single
Fields
§
source_bindings: PerNS<Cell<Result<Interned<'a, NameBindingData<'a>>, Determinacy>>>
Bindings to which source
refers to.
Glob
ExternCrate
MacroUse
Fields
MacroExport
Trait Implementations§
source§impl<'a> Clone for ImportKind<'a>
impl<'a> Clone for ImportKind<'a>
source§fn clone(&self) -> ImportKind<'a>
fn clone(&self) -> ImportKind<'a>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreAuto Trait Implementations§
impl<'a> !DynSend for ImportKind<'a>
impl<'a> !DynSync for ImportKind<'a>
impl<'a> !Freeze for ImportKind<'a>
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<T> Filterable for T
impl<T> Filterable for T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
§impl<T> Pointable for T
impl<T> Pointable for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error( tcx: Tcx, cycle_error: &CycleError, _guar: ErrorGuaranteed ) -> T
source§impl<T> WithSubscriber for T
impl<T> WithSubscriber for T
source§fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
source§fn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
impl<T> ErasedDestructor for Twhere
T: 'static,
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
: 23 bytesMacroUse
: 1 byteMacroExport
: 0 bytes