# Enum rustc_hir::lang_items::LangItem

source ·

    pub enum LangItem {
    Show 190 variants    Sized,
        Unsize,
        StructuralPeq,
        Copy,
        Clone,
        Sync,
        DiscriminantKind,
        Discriminant,
        PointeeTrait,
        Metadata,
        DynMetadata,
        Freeze,
        FnPtrTrait,
        FnPtrAddr,
        Drop,
        Destruct,
        AsyncDrop,
        AsyncDestruct,
        AsyncDropInPlace,
        SurfaceAsyncDropInPlace,
        AsyncDropSurfaceDropInPlace,
        AsyncDropSlice,
        AsyncDropChain,
        AsyncDropNoop,
        AsyncDropDeferredDropInPlace,
        AsyncDropFuse,
        AsyncDropDefer,
        AsyncDropEither,
        CoerceUnsized,
        DispatchFromDyn,
        TransmuteOpts,
        TransmuteTrait,
        Add,
        Sub,
        Mul,
        Div,
        Rem,
        Neg,
        Not,
        BitXor,
        BitAnd,
        BitOr,
        Shl,
        Shr,
        AddAssign,
        SubAssign,
        MulAssign,
        DivAssign,
        RemAssign,
        BitXorAssign,
        BitAndAssign,
        BitOrAssign,
        ShlAssign,
        ShrAssign,
        Index,
        IndexMut,
        UnsafeCell,
        VaList,
        Deref,
        DerefMut,
        DerefPure,
        DerefTarget,
        Receiver,
        Fn,
        FnMut,
        FnOnce,
        AsyncFn,
        AsyncFnMut,
        AsyncFnOnce,
        AsyncFnOnceOutput,
        CallOnceFuture,
        CallRefFuture,
        AsyncFnKindHelper,
        AsyncFnKindUpvars,
        FnOnceOutput,
        Iterator,
        FusedIterator,
        Future,
        FutureOutput,
        AsyncIterator,
        CoroutineState,
        Coroutine,
        CoroutineReturn,
        CoroutineYield,
        CoroutineResume,
        Unpin,
        Pin,
        OrderingEnum,
        PartialEq,
        PartialOrd,
        CVoid,
        Panic,
        PanicNounwind,
        PanicFmt,
        ConstPanicFmt,
        PanicBoundsCheck,
        PanicMisalignedPointerDereference,
        PanicInfo,
        PanicLocation,
        PanicImpl,
        PanicCannotUnwind,
        PanicInCleanup,
        PanicAddOverflow,
        PanicSubOverflow,
        PanicMulOverflow,
        PanicDivOverflow,
        PanicRemOverflow,
        PanicNegOverflow,
        PanicShrOverflow,
        PanicShlOverflow,
        PanicDivZero,
        PanicRemZero,
        PanicCoroutineResumed,
        PanicAsyncFnResumed,
        PanicAsyncGenFnResumed,
        PanicGenFnNone,
        PanicCoroutineResumedPanic,
        PanicAsyncFnResumedPanic,
        PanicAsyncGenFnResumedPanic,
        PanicGenFnNonePanic,
        BeginPanic,
        FormatAlignment,
        FormatArgument,
        FormatArguments,
        FormatCount,
        FormatPlaceholder,
        FormatUnsafeArg,
        ExchangeMalloc,
        DropInPlace,
        FallbackSurfaceDrop,
        AllocLayout,
        Start,
        EhPersonality,
        EhCatchTypeinfo,
        OwnedBox,
        GlobalAlloc,
        PtrUnique,
        PhantomData,
        ManuallyDrop,
        MaybeUninit,
        AlignOffset,
        Termination,
        Try,
        Tuple,
        SliceLen,
        TryTraitFromResidual,
        TryTraitFromOutput,
        TryTraitBranch,
        TryTraitFromYeet,
        PointerLike,
        ConstParamTy,
        Poll,
        PollReady,
        PollPending,
        AsyncGenReady,
        AsyncGenPending,
        AsyncGenFinished,
        ResumeTy,
        GetContext,
        Context,
        FuturePoll,
        AsyncIteratorPollNext,
        IntoAsyncIterIntoIter,
        Option,
        OptionSome,
        OptionNone,
        ResultOk,
        ResultErr,
        ControlFlowContinue,
        ControlFlowBreak,
        IntoFutureIntoFuture,
        IntoIterIntoIter,
        IteratorNext,
        PinNewUnchecked,
        RangeFrom,
        RangeFull,
        RangeInclusiveStruct,
        RangeInclusiveNew,
        Range,
        RangeToInclusive,
        RangeTo,
        String,
        CStr,
        EffectsRuntime,
        EffectsNoRuntime,
        EffectsMaybe,
        EffectsIntersection,
        EffectsIntersectionOutput,
        EffectsCompat,
        EffectsTyCompat,
    }

Expand description

A representation of all the valid lang items in Rust.

## Variants§

§

### Sized

The `sized` lang item.

§

### Unsize

The `unsize` lang item.

§

### StructuralPeq

The `structural_peq` lang item. Trait injected by `#[derive(PartialEq)]`, (i.e. “Partial EQ”).

§

### Copy

The `copy` lang item.

§

### Clone

The `clone` lang item.

§

### Sync

The `sync` lang item.

§

### DiscriminantKind

The `discriminant_kind` lang item.

§

### Discriminant

The `discriminant_type` lang item. The associated item of the `DiscriminantKind` trait.

§

### PointeeTrait

The `pointee_trait` lang item.

§

### Metadata

The `metadata_type` lang item.

§

### DynMetadata

The `dyn_metadata` lang item.

§

### Freeze

The `freeze` lang item.

§

### FnPtrTrait

The `fn_ptr_trait` lang item.

§

### FnPtrAddr

The `fn_ptr_addr` lang item.

§

### Drop

The `drop` lang item.

§

### Destruct

The `destruct` lang item.

§

### AsyncDrop

The `async_drop` lang item.

§

### AsyncDestruct

The `async_destruct` lang item.

§

### AsyncDropInPlace

The `async_drop_in_place` lang item.

§

### SurfaceAsyncDropInPlace

The `surface_async_drop_in_place` lang item.

§

### AsyncDropSurfaceDropInPlace

The `async_drop_surface_drop_in_place` lang item.

§

### AsyncDropSlice

The `async_drop_slice` lang item.

§

### AsyncDropChain

The `async_drop_chain` lang item.

§

### AsyncDropNoop

The `async_drop_noop` lang item.

§

### AsyncDropDeferredDropInPlace

The `async_drop_deferred_drop_in_place` lang item.

§

### AsyncDropFuse

The `async_drop_fuse` lang item.

§

### AsyncDropDefer

The `async_drop_defer` lang item.

§

### AsyncDropEither

The `async_drop_either` lang item.

§

### CoerceUnsized

The `coerce_unsized` lang item.

§

### DispatchFromDyn

The `dispatch_from_dyn` lang item.

§

### TransmuteOpts

The `transmute_opts` lang item.

§

### TransmuteTrait

The `transmute_trait` lang item.

§

### Add

The `add` lang item.

§

### Sub

The `sub` lang item.

§

### Mul

The `mul` lang item.

§

### Div

The `div` lang item.

§

### Rem

The `rem` lang item.

§

### Neg

The `neg` lang item.

§

### Not

The `not` lang item.

§

### BitXor

The `bitxor` lang item.

§

### BitAnd

The `bitand` lang item.

§

### BitOr

The `bitor` lang item.

§

### Shl

The `shl` lang item.

§

### Shr

The `shr` lang item.

§

### AddAssign

The `add_assign` lang item.

§

### SubAssign

The `sub_assign` lang item.

§

### MulAssign

The `mul_assign` lang item.

§

### DivAssign

The `div_assign` lang item.

§

### RemAssign

The `rem_assign` lang item.

§

### BitXorAssign

The `bitxor_assign` lang item.

§

### BitAndAssign

The `bitand_assign` lang item.

§

### BitOrAssign

The `bitor_assign` lang item.

§

### ShlAssign

The `shl_assign` lang item.

§

### ShrAssign

The `shr_assign` lang item.

§

### Index

The `index` lang item.

§

### IndexMut

The `index_mut` lang item.

§

### UnsafeCell

The `unsafe_cell` lang item.

§

### VaList

The `va_list` lang item.

§

### Deref

The `deref` lang item.

§

### DerefMut

The `deref_mut` lang item.

§

### DerefPure

The `deref_pure` lang item.

§

### DerefTarget

The `deref_target` lang item.

§

### Receiver

The `receiver` lang item.

§

### Fn

The `Fn` lang item.

§

### FnMut

The `fn_mut` lang item.

§

### FnOnce

The `fn_once` lang item.

§

### AsyncFn

The `async_fn` lang item.

§

### AsyncFnMut

The `async_fn_mut` lang item.

§

### AsyncFnOnce

The `async_fn_once` lang item.

§

### AsyncFnOnceOutput

The `async_fn_once_output` lang item.

§

### CallOnceFuture

The `call_once_future` lang item.

§

### CallRefFuture

The `call_ref_future` lang item.

§

### AsyncFnKindHelper

The `async_fn_kind_helper` lang item.

§

### AsyncFnKindUpvars

The `async_fn_kind_upvars` lang item.

§

### FnOnceOutput

The `fn_once_output` lang item.

§

### Iterator

The `iterator` lang item.

§

### FusedIterator

The `fused_iterator` lang item.

§

### Future

The `future_trait` lang item.

§

### FutureOutput

The `future_output` lang item.

§

### AsyncIterator

The `async_iterator` lang item.

§

### CoroutineState

The `coroutine_state` lang item.

§

### Coroutine

The `coroutine` lang item.

§

### CoroutineReturn

The `coroutine_return` lang item.

§

### CoroutineYield

The `coroutine_yield` lang item.

§

### CoroutineResume

The `coroutine_resume` lang item.

§

### Unpin

The `unpin` lang item.

§

### Pin

The `pin` lang item.

§

### OrderingEnum

The `Ordering` lang item.

§

### PartialEq

The `eq` lang item.

§

### PartialOrd

The `partial_ord` lang item.

§

### CVoid

The `c_void` lang item.

§

### Panic

The `panic` lang item.

§

### PanicNounwind

The `panic_nounwind` lang item.

§

### PanicFmt

The `panic_fmt` lang item.

§

### ConstPanicFmt

The `const_panic_fmt` lang item.

§

### PanicBoundsCheck

The `panic_bounds_check` lang item.

§

### PanicMisalignedPointerDereference

The `panic_misaligned_pointer_dereference` lang item.

§

### PanicInfo

The `panic_info` lang item.

§

### PanicLocation

The `panic_location` lang item.

§

### PanicImpl

The `panic_impl` lang item.

§

### PanicCannotUnwind

The `panic_cannot_unwind` lang item.

§

### PanicInCleanup

The `panic_in_cleanup` lang item.

§

### PanicAddOverflow

The `panic_const_add_overflow` lang item. Constant panic messages, used for codegen of MIR asserts.

§

### PanicSubOverflow

The `panic_const_sub_overflow` lang item.

§

### PanicMulOverflow

The `panic_const_mul_overflow` lang item.

§

### PanicDivOverflow

The `panic_const_div_overflow` lang item.

§

### PanicRemOverflow

The `panic_const_rem_overflow` lang item.

§

### PanicNegOverflow

The `panic_const_neg_overflow` lang item.

§

### PanicShrOverflow

The `panic_const_shr_overflow` lang item.

§

### PanicShlOverflow

The `panic_const_shl_overflow` lang item.

§

### PanicDivZero

The `panic_const_div_by_zero` lang item.

§

### PanicRemZero

The `panic_const_rem_by_zero` lang item.

§

### PanicCoroutineResumed

The `panic_const_coroutine_resumed` lang item.

§

### PanicAsyncFnResumed

The `panic_const_async_fn_resumed` lang item.

§

### PanicAsyncGenFnResumed

The `panic_const_async_gen_fn_resumed` lang item.

§

### PanicGenFnNone

The `panic_const_gen_fn_none` lang item.

§

### PanicCoroutineResumedPanic

The `panic_const_coroutine_resumed_panic` lang item.

§

### PanicAsyncFnResumedPanic

The `panic_const_async_fn_resumed_panic` lang item.

§

### PanicAsyncGenFnResumedPanic

The `panic_const_async_gen_fn_resumed_panic` lang item.

§

### PanicGenFnNonePanic

The `panic_const_gen_fn_none_panic` lang item.

§

### BeginPanic

The `begin_panic` lang item. libstd panic entry point. Necessary for const eval to be able to catch it

§

### FormatAlignment

The `format_alignment` lang item.

§

### FormatArgument

The `format_argument` lang item.

§

### FormatArguments

The `format_arguments` lang item.

§

### FormatCount

The `format_count` lang item.

§

### FormatPlaceholder

The `format_placeholder` lang item.

§

### FormatUnsafeArg

The `format_unsafe_arg` lang item.

§

### ExchangeMalloc

The `exchange_malloc` lang item.

§

### DropInPlace

The `drop_in_place` lang item.

§

### FallbackSurfaceDrop

The `fallback_surface_drop` lang item.

§

### AllocLayout

The `alloc_layout` lang item.

§

### Start

The `start` lang item.

§

### EhPersonality

The `eh_personality` lang item.

§

### EhCatchTypeinfo

The `eh_catch_typeinfo` lang item.

§

### OwnedBox

The `owned_box` lang item.

§

### GlobalAlloc

The `global_alloc_ty` lang item.

§

### PtrUnique

The `ptr_unique` lang item.

§

### PhantomData

The `phantom_data` lang item.

§

### ManuallyDrop

The `manually_drop` lang item.

§

### MaybeUninit

The `maybe_uninit` lang item.

§

### AlignOffset

The `align_offset` lang item. Align offset for stride != 1; must not panic.

§

### Termination

The `termination` lang item.

§

### Try

The `Try` lang item.

§

### Tuple

The `tuple_trait` lang item.

§

### SliceLen

The `slice_len_fn` lang item.

§

### TryTraitFromResidual

The `from_residual` lang item.

§

### TryTraitFromOutput

The `from_output` lang item.

§

### TryTraitBranch

The `branch` lang item.

§

### TryTraitFromYeet

The `from_yeet` lang item.

§

### PointerLike

The `pointer_like` lang item.

§

### ConstParamTy

The `const_param_ty` lang item.

§

### Poll

The `Poll` lang item.

§

### PollReady

The `Ready` lang item.

§

### PollPending

The `Pending` lang item.

§

### AsyncGenReady

The `AsyncGenReady` lang item.

§

### AsyncGenPending

The `AsyncGenPending` lang item.

§

### AsyncGenFinished

The `AsyncGenFinished` lang item.

§

### ResumeTy

The `ResumeTy` lang item.

§

### GetContext

The `get_context` lang item.

§

### Context

The `Context` lang item.

§

### FuturePoll

The `poll` lang item.

§

### AsyncIteratorPollNext

The `async_iterator_poll_next` lang item.

§

### IntoAsyncIterIntoIter

The `into_async_iter_into_iter` lang item.

§

### Option

The `Option` lang item.

§

### OptionSome

The `Some` lang item.

§

### OptionNone

The `None` lang item.

§

### ResultOk

The `Ok` lang item.

§

### ResultErr

The `Err` lang item.

§

### ControlFlowContinue

The `Continue` lang item.

§

### ControlFlowBreak

The `Break` lang item.

§

### IntoFutureIntoFuture

The `into_future` lang item.

§

### IntoIterIntoIter

The `into_iter` lang item.

§

### IteratorNext

The `next` lang item.

§

### PinNewUnchecked

The `new_unchecked` lang item.

§

### RangeFrom

The `RangeFrom` lang item.

§

### RangeFull

The `RangeFull` lang item.

§

### RangeInclusiveStruct

The `RangeInclusive` lang item.

§

### RangeInclusiveNew

The `range_inclusive_new` lang item.

§

### Range

The `Range` lang item.

§

### RangeToInclusive

The `RangeToInclusive` lang item.

§

### RangeTo

The `RangeTo` lang item.

§

### String

The `String` lang item.

§

### CStr

The `CStr` lang item.

§

### EffectsRuntime

The `EffectsRuntime` lang item.

§

### EffectsNoRuntime

The `EffectsNoRuntime` lang item.

§

### EffectsMaybe

The `EffectsMaybe` lang item.

§

### EffectsIntersection

The `EffectsIntersection` lang item.

§

### EffectsIntersectionOutput

The `EffectsIntersectionOutput` lang item.

§

### EffectsCompat

The `EffectsCompat` lang item.

§

### EffectsTyCompat

The `EffectsTyCompat` lang item.

## Implementations§

source§

### impl LangItem

source

#### fn from_u32(u: u32) -> Option<LangItem>

source

#### pub fn name(self) -> Symbol

Returns the `name` symbol in `#[lang = "$name"]`. For example, `LangItem::PartialEq``.name()` would result in `sym::eq` since it is `#[lang = "eq"]`.

source

#### pub fn from_name(name: Symbol) -> Option<Self>

Opposite of `LangItem::name`

source

#### pub fn variant_name(self) -> &'static str

Returns the name of the `LangItem` enum variant.

source

#### pub fn target(self) -> Target

source

#### pub fn required_generics(&self) -> GenericRequirement

source§

### impl LangItem

source

#### pub fn is_weak(self) -> bool

source

#### pub fn link_name(self) -> Option<Symbol>

## Trait Implementations§

source§

### impl Clone for LangItem

source§

#### fn clone(&self) -> LangItem

Returns a copy of the value. Read more
1.0.0 · source§

#### fn clone_from(&mut self, source: &Self)

Performs copy-assignment from `source`. Read more
source§

### impl Debug for LangItem

source§

#### fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

### impl<__D: SpanDecoder> Decodable<__D> for LangItem

source§

#### fn decode(__decoder: &mut __D) -> Self

source§

### impl<__E: SpanEncoder> Encodable<__E> for LangItem

source§

#### fn encode(&self, __encoder: &mut __E)

source§

### impl Hash for LangItem

source§

#### fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given `Hasher`. Read more
1.3.0 · source§

#### fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given `Hasher`. Read more
source§

### impl<CTX> HashStable<CTX> for LangItem

source§

#### fn hash_stable(&self, _: &mut CTX, hasher: &mut StableHasher)

source§

### impl PartialEq for LangItem

source§

#### fn eq(&self, other: &LangItem) -> bool

This method tests for `self` and `other` values to be equal, and is used by `==`.
1.0.0 · source§

#### fn ne(&self, other: &Rhs) -> bool

This method tests for `!=`. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

### impl Copy for LangItem

source§

### impl Eq for LangItem

source§

### impl StructuralPartialEq for LangItem

## Auto Trait Implementations§

§

### impl DynSend for LangItem

§

### impl DynSync for LangItem

§

### impl Freeze for LangItem

§

### impl RefUnwindSafe for LangItem

§

### impl Send for LangItem

§

### impl Sync for LangItem

§

### impl Unpin for LangItem

§

### impl UnwindSafe for LangItem

## Blanket Implementations§

source§

### impl<T> Aligned for T

source§

#### const ALIGN: Alignment = _

Alignment of `Self`.
source§

### impl<T> Any for T
where T: 'static + ?Sized,

source§

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
source§

### impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for T
where T: Copy,

source§

#### fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut T

source§

#### fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = T>, ) -> &'a mut [T]

source§

### impl<T> Borrow<T> for T
where T: ?Sized,

source§

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

### impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

#### fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

### impl<T> CloneToUninit for T
where T: Copy,

source§

#### unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (`clone_to_uninit`)
Performs copy-assignment from `self` to `dst`. Read more
source§

### impl<T> CloneToUninit for T
where T: Clone,

source§

#### default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (`clone_to_uninit`)
Performs copy-assignment from `self` to `dst`. Read more
source§

### impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

#### fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

### impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

#### fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
source§

### impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

source§

#### fn equivalent(&self, key: &K) -> bool

Compare self to `key` and return `true` if they are equal.
source§

### impl<T> From<T> for T

source§

#### fn from(t: T) -> T

Returns the argument unchanged.

source§

### impl<T> Instrument for T

source§

#### fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided `Span`, returning an `Instrumented` wrapper. Read more
source§

#### fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current `Span`, returning an `Instrumented` wrapper. Read more
source§

### impl<T, U> Into<U> for T
where U: From<T>,

source§

#### fn into(self) -> U

Calls `U::from(self)`.

That is, this conversion is whatever the implementation of `From<T> for U` chooses to do.

source§

### impl<T> IntoEither for T

source§

#### fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts `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 more
source§

#### fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts `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
source§

### impl<T> Pointable for T

source§

#### const ALIGN: usize = _

The alignment of pointer.
§

#### type Init = T

The type for initializers.
source§

#### unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

#### unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

#### unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

#### unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

### impl<T> Same for T

§

#### type Output = T

Should always be `Self`
source§

### impl<T> ToOwned for T
where T: Clone,

§

#### type Owned = T

The resulting type after obtaining ownership.
source§

#### fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

#### fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

### impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

#### type Error = Infallible

The type returned in the event of a conversion error.
source§

#### fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

### impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

#### type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

#### fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

### impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

#### fn vzip(self) -> V

source§

### impl<T> WithSubscriber for T

source§

#### fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided `Subscriber` to this type, returning a `WithDispatch` wrapper. Read more
source§

#### fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default `Subscriber` to this type, returning a `WithDispatch` wrapper. Read more
source§

### impl<'a, T> Captures<'a> for T
where T: ?Sized,

## 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: 1 byte

Size for each variant:

- `Sized`: 0 bytes
- `Unsize`: 0 bytes
- `StructuralPeq`: 0 bytes
- `Copy`: 0 bytes
- `Clone`: 0 bytes
- `Sync`: 0 bytes
- `DiscriminantKind`: 0 bytes
- `Discriminant`: 0 bytes
- `PointeeTrait`: 0 bytes
- `Metadata`: 0 bytes
- `DynMetadata`: 0 bytes
- `Freeze`: 0 bytes
- `FnPtrTrait`: 0 bytes
- `FnPtrAddr`: 0 bytes
- `Drop`: 0 bytes
- `Destruct`: 0 bytes
- `AsyncDrop`: 0 bytes
- `AsyncDestruct`: 0 bytes
- `AsyncDropInPlace`: 0 bytes
- `SurfaceAsyncDropInPlace`: 0 bytes
- `AsyncDropSurfaceDropInPlace`: 0 bytes
- `AsyncDropSlice`: 0 bytes
- `AsyncDropChain`: 0 bytes
- `AsyncDropNoop`: 0 bytes
- `AsyncDropDeferredDropInPlace`: 0 bytes
- `AsyncDropFuse`: 0 bytes
- `AsyncDropDefer`: 0 bytes
- `AsyncDropEither`: 0 bytes
- `CoerceUnsized`: 0 bytes
- `DispatchFromDyn`: 0 bytes
- `TransmuteOpts`: 0 bytes
- `TransmuteTrait`: 0 bytes
- `Add`: 0 bytes
- `Sub`: 0 bytes
- `Mul`: 0 bytes
- `Div`: 0 bytes
- `Rem`: 0 bytes
- `Neg`: 0 bytes
- `Not`: 0 bytes
- `BitXor`: 0 bytes
- `BitAnd`: 0 bytes
- `BitOr`: 0 bytes
- `Shl`: 0 bytes
- `Shr`: 0 bytes
- `AddAssign`: 0 bytes
- `SubAssign`: 0 bytes
- `MulAssign`: 0 bytes
- `DivAssign`: 0 bytes
- `RemAssign`: 0 bytes
- `BitXorAssign`: 0 bytes
- `BitAndAssign`: 0 bytes
- `BitOrAssign`: 0 bytes
- `ShlAssign`: 0 bytes
- `ShrAssign`: 0 bytes
- `Index`: 0 bytes
- `IndexMut`: 0 bytes
- `UnsafeCell`: 0 bytes
- `VaList`: 0 bytes
- `Deref`: 0 bytes
- `DerefMut`: 0 bytes
- `DerefPure`: 0 bytes
- `DerefTarget`: 0 bytes
- `Receiver`: 0 bytes
- `Fn`: 0 bytes
- `FnMut`: 0 bytes
- `FnOnce`: 0 bytes
- `AsyncFn`: 0 bytes
- `AsyncFnMut`: 0 bytes
- `AsyncFnOnce`: 0 bytes
- `AsyncFnOnceOutput`: 0 bytes
- `CallOnceFuture`: 0 bytes
- `CallRefFuture`: 0 bytes
- `AsyncFnKindHelper`: 0 bytes
- `AsyncFnKindUpvars`: 0 bytes
- `FnOnceOutput`: 0 bytes
- `Iterator`: 0 bytes
- `FusedIterator`: 0 bytes
- `Future`: 0 bytes
- `FutureOutput`: 0 bytes
- `AsyncIterator`: 0 bytes
- `CoroutineState`: 0 bytes
- `Coroutine`: 0 bytes
- `CoroutineReturn`: 0 bytes
- `CoroutineYield`: 0 bytes
- `CoroutineResume`: 0 bytes
- `Unpin`: 0 bytes
- `Pin`: 0 bytes
- `OrderingEnum`: 0 bytes
- `PartialEq`: 0 bytes
- `PartialOrd`: 0 bytes
- `CVoid`: 0 bytes
- `Panic`: 0 bytes
- `PanicNounwind`: 0 bytes
- `PanicFmt`: 0 bytes
- `ConstPanicFmt`: 0 bytes
- `PanicBoundsCheck`: 0 bytes
- `PanicMisalignedPointerDereference`: 0 bytes
- `PanicInfo`: 0 bytes
- `PanicLocation`: 0 bytes
- `PanicImpl`: 0 bytes
- `PanicCannotUnwind`: 0 bytes
- `PanicInCleanup`: 0 bytes
- `PanicAddOverflow`: 0 bytes
- `PanicSubOverflow`: 0 bytes
- `PanicMulOverflow`: 0 bytes
- `PanicDivOverflow`: 0 bytes
- `PanicRemOverflow`: 0 bytes
- `PanicNegOverflow`: 0 bytes
- `PanicShrOverflow`: 0 bytes
- `PanicShlOverflow`: 0 bytes
- `PanicDivZero`: 0 bytes
- `PanicRemZero`: 0 bytes
- `PanicCoroutineResumed`: 0 bytes
- `PanicAsyncFnResumed`: 0 bytes
- `PanicAsyncGenFnResumed`: 0 bytes
- `PanicGenFnNone`: 0 bytes
- `PanicCoroutineResumedPanic`: 0 bytes
- `PanicAsyncFnResumedPanic`: 0 bytes
- `PanicAsyncGenFnResumedPanic`: 0 bytes
- `PanicGenFnNonePanic`: 0 bytes
- `BeginPanic`: 0 bytes
- `FormatAlignment`: 0 bytes
- `FormatArgument`: 0 bytes
- `FormatArguments`: 0 bytes
- `FormatCount`: 0 bytes
- `FormatPlaceholder`: 0 bytes
- `FormatUnsafeArg`: 0 bytes
- `ExchangeMalloc`: 0 bytes
- `DropInPlace`: 0 bytes
- `FallbackSurfaceDrop`: 0 bytes
- `AllocLayout`: 0 bytes
- `Start`: 0 bytes
- `EhPersonality`: 0 bytes
- `EhCatchTypeinfo`: 0 bytes
- `OwnedBox`: 0 bytes
- `GlobalAlloc`: 0 bytes
- `PtrUnique`: 0 bytes
- `PhantomData`: 0 bytes
- `ManuallyDrop`: 0 bytes
- `MaybeUninit`: 0 bytes
- `AlignOffset`: 0 bytes
- `Termination`: 0 bytes
- `Try`: 0 bytes
- `Tuple`: 0 bytes
- `SliceLen`: 0 bytes
- `TryTraitFromResidual`: 0 bytes
- `TryTraitFromOutput`: 0 bytes
- `TryTraitBranch`: 0 bytes
- `TryTraitFromYeet`: 0 bytes
- `PointerLike`: 0 bytes
- `ConstParamTy`: 0 bytes
- `Poll`: 0 bytes
- `PollReady`: 0 bytes
- `PollPending`: 0 bytes
- `AsyncGenReady`: 0 bytes
- `AsyncGenPending`: 0 bytes
- `AsyncGenFinished`: 0 bytes
- `ResumeTy`: 0 bytes
- `GetContext`: 0 bytes
- `Context`: 0 bytes
- `FuturePoll`: 0 bytes
- `AsyncIteratorPollNext`: 0 bytes
- `IntoAsyncIterIntoIter`: 0 bytes
- `Option`: 0 bytes
- `OptionSome`: 0 bytes
- `OptionNone`: 0 bytes
- `ResultOk`: 0 bytes
- `ResultErr`: 0 bytes
- `ControlFlowContinue`: 0 bytes
- `ControlFlowBreak`: 0 bytes
- `IntoFutureIntoFuture`: 0 bytes
- `IntoIterIntoIter`: 0 bytes
- `IteratorNext`: 0 bytes
- `PinNewUnchecked`: 0 bytes
- `RangeFrom`: 0 bytes
- `RangeFull`: 0 bytes
- `RangeInclusiveStruct`: 0 bytes
- `RangeInclusiveNew`: 0 bytes
- `Range`: 0 bytes
- `RangeToInclusive`: 0 bytes
- `RangeTo`: 0 bytes
- `String`: 0 bytes
- `CStr`: 0 bytes
- `EffectsRuntime`: 0 bytes
- `EffectsNoRuntime`: 0 bytes
- `EffectsMaybe`: 0 bytes
- `EffectsIntersection`: 0 bytes
- `EffectsIntersectionOutput`: 0 bytes
- `EffectsCompat`: 0 bytes
- `EffectsTyCompat`: 0 bytes