pub enum LangItem {
Show 130 variants Sized, Unsize, StructuralPeq, StructuralTeq, Copy, Clone, Sync, DiscriminantKind, Discriminant, PointeeTrait, Metadata, DynMetadata, Freeze, FnPtrTrait, FnPtrAddr, Drop, Destruct, 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, DerefTarget, Receiver, Fn, FnMut, FnOnce, FnOnceOutput, Future, GeneratorState, Generator, Unpin, Pin, PartialEq, PartialOrd, CVoid, Panic, PanicNounwind, PanicFmt, ConstPanicFmt, PanicBoundsCheck, PanicMisalignedPointerDereference, PanicInfo, PanicLocation, PanicImpl, PanicCannotUnwind, PanicInCleanup, BeginPanic, FormatAlignment, FormatArgument, FormatArguments, FormatCount, FormatPlaceholder, FormatUnsafeArg, ExchangeMalloc, DropInPlace, AllocLayout, Start, EhPersonality, EhCatchTypeinfo, OwnedBox, PtrUnique, PhantomData, ManuallyDrop, MaybeUninit, AlignOffset, Termination, Try, Tuple, SliceLen, TryTraitFromResidual, TryTraitFromOutput, TryTraitBranch, TryTraitFromYeet, PointerLike, ConstParamTy, Poll, PollReady, PollPending, ResumeTy, GetContext, Context, FuturePoll, Option, OptionSome, OptionNone, ResultOk, ResultErr, ControlFlowContinue, ControlFlowBreak, IntoFutureIntoFuture, IntoIterIntoIter, IteratorNext, PinNewUnchecked, RangeFrom, RangeFull, RangeInclusiveStruct, RangeInclusiveNew, Range, RangeToInclusive, RangeTo, String, CStr,
}
Expand description

A representation of all the valid language 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”).

§

StructuralTeq

The structural_teq lang item.

Trait injected by #[derive(Eq)], (i.e. “Total EQ”; no, I will not apologize).

§

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.

§

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.

§

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.

§

FnOnceOutput

The fn_once_output lang item.

§

Future

The future_trait lang item.

§

GeneratorState

The generator_state lang item.

§

Generator

The generator lang item.

§

Unpin

The unpin lang item.

§

Pin

The pin 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.

§

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.

§

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.

§

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.

§

ResumeTy

The ResumeTy lang item.

§

GetContext

The get_context lang item.

§

Context

The Context lang item.

§

FuturePoll

The poll 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.

Implementations§

source§

impl LangItem

source§

impl 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

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: Decoder> Decodable<__D> for LangItem

source§

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

source§

impl<__E: Encoder> 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<LangItem> 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 StructuralEq for LangItem

source§

impl StructuralPartialEq for LangItem

Auto Trait Implementations§

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<'tcx, T> ArenaAllocatable<'tcx, IsCopy> for Twhere 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 Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

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

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere 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> ToOwned for Twhere 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 Twhere 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 Twhere 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.

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
  • StructuralTeq: 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
  • 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
  • DerefTarget: 0 bytes
  • Receiver: 0 bytes
  • Fn: 0 bytes
  • FnMut: 0 bytes
  • FnOnce: 0 bytes
  • FnOnceOutput: 0 bytes
  • Future: 0 bytes
  • GeneratorState: 0 bytes
  • Generator: 0 bytes
  • Unpin: 0 bytes
  • Pin: 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
  • 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
  • AllocLayout: 0 bytes
  • Start: 0 bytes
  • EhPersonality: 0 bytes
  • EhCatchTypeinfo: 0 bytes
  • OwnedBox: 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
  • ResumeTy: 0 bytes
  • GetContext: 0 bytes
  • Context: 0 bytes
  • FuturePoll: 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