pub enum TransItemSourceKind {
Show 15 variants
Global,
TraitDecl,
TraitImpl(TransImplSource),
Fun,
Type,
InherentImpl,
Module,
CallableMethod(ClosureKind),
ClosureAsFnCast,
DropGlueMethod(TransImplSource),
VTable,
VTableInstance(TransImplSource),
VTableInstanceInitializer(TransImplSource),
VTableMethod,
VTableDropShim,
}Expand description
The kind of a TransItemSource.
Variants§
Global
TraitDecl
TraitImpl(TransImplSource)
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.
CallableMethod(ClosureKind)
The call_* method of the generated Fn* impl for a closure or fn item.
ClosureAsFnCast
A cast of a stateless closure to a function pointer.
DropGlueMethod(TransImplSource)
The drop_glue method of a Destruct impl. It contains the drop glue that calls
Drop::drop for the type and then drops its fields. This is a method implementation (and
the DefId is that of the ADT or closure for which to generate the drop glue).
VTable
The virtual table struct definition for a trait. The DefId is that of the trait.
VTableInstance(TransImplSource)
The static vtable value for a specific impl.
VTableInstanceInitializer(TransImplSource)
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.
VTableDropShim
The drop shim function to be used in the vtable as a field, the DefId is an impl.
Implementations§
Source§impl TransItemSourceKind
impl TransItemSourceKind
pub fn variant_index_arity(&self) -> (u32, usize)
Source§impl TransItemSourceKind
impl TransItemSourceKind
pub fn is_for_trait(&self) -> bool
Trait Implementations§
Source§impl Clone for TransItemSourceKind
impl Clone for TransItemSourceKind
Source§fn clone(&self) -> TransItemSourceKind
fn clone(&self) -> TransItemSourceKind
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for TransItemSourceKind
Source§impl Debug for TransItemSourceKind
impl Debug for TransItemSourceKind
impl Eq 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 (const: unstable) · 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 StructuralPartialEq for TransItemSourceKind
Auto Trait Implementations§
impl DynSend for TransItemSourceKind
impl DynSync for TransItemSourceKind
impl Freeze for TransItemSourceKind
impl RefUnwindSafe for TransItemSourceKind
impl Send for TransItemSourceKind
impl Sync for TransItemSourceKind
impl Unpin for TransItemSourceKind
impl UnsafeUnpin 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<T> HashConsable for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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