pub enum TransItemSourceKind {
Show 16 variants
Global,
TraitDecl,
TraitImpl(TraitImplSource),
Fun,
Type,
InherentImpl,
Module,
DefaultedMethod(TraitImplSource, TraitItemName),
ClosureMethod(ClosureKind),
ClosureAsFnCast,
EmptyDropMethod,
DropInPlaceMethod(Option<TraitImplSource>),
VTable,
VTableInstance(TraitImplSource),
VTableInstanceInitializer(TraitImplSource),
VTableMethod,
}Expand description
The kind of a TransItemSource.
Variants§
Global
TraitDecl
TraitImpl(TraitImplSource)
Fun
Type
InherentImpl
We don’t translate these as proper items, but we translate them a bit in names.
Module
We don’t translate these as proper items, but we use them to explore the crate.
DefaultedMethod(TraitImplSource, TraitItemName)
A trait impl method that uses the default method body from the trait declaration. The
DefId is that of the trait impl.
ClosureMethod(ClosureKind)
The call_* method of the appropriate TraitImplSource::Closure impl.
ClosureAsFnCast
A cast of a state-less closure as a function pointer.
EmptyDropMethod
The drop method of a TraitImplSource::ImplicitDrop trait impl; that method does
nothing.
DropInPlaceMethod(Option<TraitImplSource>)
The drop_in_place method of a Drop impl or decl. It contains the drop glue that calls
Drop::drop for the type and then drops its fields. if the TraitImplSource is None
this is the method declaration (and the DefId is that of the Drop trait), otherwise this
is a method implementation (and the DefId is either that of a impl Drop for Foo impl, or
that of an ADT in case of an implicit Drop impl).
VTable
The virtual table struct definition for a trait. The DefId is that of the trait.
VTableInstance(TraitImplSource)
The static vtable value for a specific impl.
VTableInstanceInitializer(TraitImplSource)
The initializer function of the VTableInstance.
VTableMethod
Shim function to store a method in a vtable; give a method with self: Ptr<Self> argument,
this takes a Ptr<dyn Trait> and forwards to the method. The DefId refers to the method
implementation.
Implementations§
Source§impl TransItemSourceKind
impl TransItemSourceKind
pub fn variant_index_arity(&self) -> (u32, usize)
Trait Implementations§
Source§impl Clone for TransItemSourceKind
impl Clone for TransItemSourceKind
Source§fn clone(&self) -> TransItemSourceKind
fn clone(&self) -> TransItemSourceKind
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TransItemSourceKind
impl Debug for TransItemSourceKind
Source§impl Hash for TransItemSourceKind
impl Hash for TransItemSourceKind
Source§impl Ord for TransItemSourceKind
impl Ord for TransItemSourceKind
Source§fn cmp(&self, other: &TransItemSourceKind) -> Ordering
fn cmp(&self, other: &TransItemSourceKind) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for TransItemSourceKind
impl PartialEq for TransItemSourceKind
Source§impl PartialOrd for TransItemSourceKind
impl PartialOrd for TransItemSourceKind
impl Eq for TransItemSourceKind
impl StructuralPartialEq for TransItemSourceKind
Auto Trait Implementations§
impl Freeze for TransItemSourceKind
impl RefUnwindSafe for TransItemSourceKind
impl Send for TransItemSourceKind
impl Sync for TransItemSourceKind
impl Unpin for TransItemSourceKind
impl UnwindSafe for TransItemSourceKind
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more