Enum rustc_hir::lang_items::LangItem
source · [−]pub enum LangItem {
Show 141 variants
Bool,
Char,
Str,
Array,
Slice,
SliceU8,
StrAlloc,
SliceAlloc,
SliceU8Alloc,
ConstPtr,
MutPtr,
ConstSlicePtr,
MutSlicePtr,
I8,
I16,
I32,
I64,
I128,
Isize,
U8,
U16,
U32,
U64,
U128,
Usize,
F32,
F64,
F32Runtime,
F64Runtime,
Sized,
Unsize,
StructuralPeq,
StructuralTeq,
Copy,
Clone,
Sync,
DiscriminantKind,
Discriminant,
PointeeTrait,
Metadata,
DynMetadata,
Freeze,
Drop,
CoerceUnsized,
DispatchFromDyn,
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,
GeneratorReturn,
Unpin,
Pin,
PartialEq,
PartialOrd,
Panic,
PanicFmt,
PanicDisplay,
PanicStr,
ConstPanicFmt,
PanicBoundsCheck,
PanicInfo,
PanicLocation,
PanicImpl,
BeginPanic,
ExchangeMalloc,
BoxFree,
DropInPlace,
Oom,
AllocLayout,
ConstEvalSelect,
ConstConstEvalSelect,
Start,
EhPersonality,
EhCatchTypeinfo,
OwnedBox,
PhantomData,
ManuallyDrop,
MaybeUninit,
AlignOffset,
Termination,
Try,
SliceLen,
TryTraitFromResidual,
TryTraitFromOutput,
TryTraitBranch,
PollReady,
PollPending,
FromGenerator,
GetContext,
FuturePoll,
FromFrom,
OptionSome,
OptionNone,
ResultOk,
ResultErr,
ControlFlowContinue,
ControlFlowBreak,
IntoFutureIntoFuture,
IntoIterIntoIter,
IteratorNext,
PinNewUnchecked,
RangeFrom,
RangeFull,
RangeInclusiveStruct,
RangeInclusiveNew,
Range,
RangeToInclusive,
RangeTo,
}Expand description
A representation of all the valid language items in Rust.
Variants
Bool
The bool lang item.
Char
The char lang item.
Str
The str lang item.
Array
The array lang item.
Slice
The slice lang item.
SliceU8
The slice_u8 lang item.
StrAlloc
The str_alloc lang item.
SliceAlloc
The slice_alloc lang item.
SliceU8Alloc
The slice_u8_alloc lang item.
ConstPtr
The const_ptr lang item.
MutPtr
The mut_ptr lang item.
ConstSlicePtr
The const_slice_ptr lang item.
MutSlicePtr
The mut_slice_ptr lang item.
I8
The i8 lang item.
I16
The i16 lang item.
I32
The i32 lang item.
I64
The i64 lang item.
I128
The i128 lang item.
Isize
The isize lang item.
U8
The u8 lang item.
U16
The u16 lang item.
U32
The u32 lang item.
U64
The u64 lang item.
U128
The u128 lang item.
Usize
The usize lang item.
F32
The f32 lang item.
F64
The f64 lang item.
F32Runtime
The f32_runtime lang item.
F64Runtime
The f64_runtime lang item.
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.
Drop
The drop lang item.
CoerceUnsized
The coerce_unsized lang item.
DispatchFromDyn
The dispatch_from_dyn 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.
GeneratorReturn
The generator_return lang item.
Unpin
The unpin lang item.
Pin
The pin lang item.
PartialEq
The eq lang item.
PartialOrd
The partial_ord lang item.
Panic
The panic lang item.
PanicFmt
The panic_fmt lang item.
PanicDisplay
The panic_display lang item.
PanicStr
The panic_str lang item.
ConstPanicFmt
The const_panic_fmt lang item.
PanicBoundsCheck
The panic_bounds_check lang item.
PanicInfo
The panic_info lang item.
PanicLocation
The panic_location lang item.
PanicImpl
The panic_impl lang item.
BeginPanic
The begin_panic lang item.
libstd panic entry point. Necessary for const eval to be able to catch it
ExchangeMalloc
The exchange_malloc lang item.
BoxFree
The box_free lang item.
DropInPlace
The drop_in_place lang item.
Oom
The oom lang item.
AllocLayout
The alloc_layout lang item.
ConstEvalSelect
The const_eval_select lang item.
ConstConstEvalSelect
The const_eval_select_ct 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.
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.
SliceLen
The slice_len_fn lang item.
TryTraitFromResidual
The from_residual lang item.
TryTraitFromOutput
The from_output lang item.
TryTraitBranch
The branch lang item.
PollReady
The Ready lang item.
PollPending
The Pending lang item.
FromGenerator
The from_generator lang item.
GetContext
The get_context lang item.
FuturePoll
The poll lang item.
FromFrom
The from 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.
Implementations
Returns the name symbol in #[lang = "$name"].
For example, LangItem::PartialEq.name()
would result in sym::eq since it is #[lang = "eq"].
The group that this lang item belongs to,
or None if it doesn’t belong to a group.
Trait Implementations
Auto Trait Implementations
impl RefUnwindSafe for LangItem
impl UnwindSafe for LangItem
Blanket Implementations
Mutably borrows from an owned value. Read more
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:
Bool: 0 bytesChar: 0 bytesStr: 0 bytesArray: 0 bytesSlice: 0 bytesSliceU8: 0 bytesStrAlloc: 0 bytesSliceAlloc: 0 bytesSliceU8Alloc: 0 bytesConstPtr: 0 bytesMutPtr: 0 bytesConstSlicePtr: 0 bytesMutSlicePtr: 0 bytesI8: 0 bytesI16: 0 bytesI32: 0 bytesI64: 0 bytesI128: 0 bytesIsize: 0 bytesU8: 0 bytesU16: 0 bytesU32: 0 bytesU64: 0 bytesU128: 0 bytesUsize: 0 bytesF32: 0 bytesF64: 0 bytesF32Runtime: 0 bytesF64Runtime: 0 bytesSized: 0 bytesUnsize: 0 bytesStructuralPeq: 0 bytesStructuralTeq: 0 bytesCopy: 0 bytesClone: 0 bytesSync: 0 bytesDiscriminantKind: 0 bytesDiscriminant: 0 bytesPointeeTrait: 0 bytesMetadata: 0 bytesDynMetadata: 0 bytesFreeze: 0 bytesDrop: 0 bytesCoerceUnsized: 0 bytesDispatchFromDyn: 0 bytesAdd: 0 bytesSub: 0 bytesMul: 0 bytesDiv: 0 bytesRem: 0 bytesNeg: 0 bytesNot: 0 bytesBitXor: 0 bytesBitAnd: 0 bytesBitOr: 0 bytesShl: 0 bytesShr: 0 bytesAddAssign: 0 bytesSubAssign: 0 bytesMulAssign: 0 bytesDivAssign: 0 bytesRemAssign: 0 bytesBitXorAssign: 0 bytesBitAndAssign: 0 bytesBitOrAssign: 0 bytesShlAssign: 0 bytesShrAssign: 0 bytesIndex: 0 bytesIndexMut: 0 bytesUnsafeCell: 0 bytesVaList: 0 bytesDeref: 0 bytesDerefMut: 0 bytesDerefTarget: 0 bytesReceiver: 0 bytesFn: 0 bytesFnMut: 0 bytesFnOnce: 0 bytesFnOnceOutput: 0 bytesFuture: 0 bytesGeneratorState: 0 bytesGenerator: 0 bytesGeneratorReturn: 0 bytesUnpin: 0 bytesPin: 0 bytesPartialEq: 0 bytesPartialOrd: 0 bytesPanic: 0 bytesPanicFmt: 0 bytesPanicDisplay: 0 bytesPanicStr: 0 bytesConstPanicFmt: 0 bytesPanicBoundsCheck: 0 bytesPanicInfo: 0 bytesPanicLocation: 0 bytesPanicImpl: 0 bytesBeginPanic: 0 bytesExchangeMalloc: 0 bytesBoxFree: 0 bytesDropInPlace: 0 bytesOom: 0 bytesAllocLayout: 0 bytesConstEvalSelect: 0 bytesConstConstEvalSelect: 0 bytesStart: 0 bytesEhPersonality: 0 bytesEhCatchTypeinfo: 0 bytesOwnedBox: 0 bytesPhantomData: 0 bytesManuallyDrop: 0 bytesMaybeUninit: 0 bytesAlignOffset: 0 bytesTermination: 0 bytesTry: 0 bytesSliceLen: 0 bytesTryTraitFromResidual: 0 bytesTryTraitFromOutput: 0 bytesTryTraitBranch: 0 bytesPollReady: 0 bytesPollPending: 0 bytesFromGenerator: 0 bytesGetContext: 0 bytesFuturePoll: 0 bytesFromFrom: 0 bytesOptionSome: 0 bytesOptionNone: 0 bytesResultOk: 0 bytesResultErr: 0 bytesControlFlowContinue: 0 bytesControlFlowBreak: 0 bytesIntoFutureIntoFuture: 0 bytesIntoIterIntoIter: 0 bytesIteratorNext: 0 bytesPinNewUnchecked: 0 bytesRangeFrom: 0 bytesRangeFull: 0 bytesRangeInclusiveStruct: 0 bytesRangeInclusiveNew: 0 bytesRange: 0 bytesRangeToInclusive: 0 bytesRangeTo: 0 bytes