pub enum LangItem {
Show 146 variants
Sized,
MetaSized,
PointeeSized,
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,
UnsafePinned,
VaList,
Deref,
DerefMut,
DerefTarget,
Receiver,
ReceiverTarget,
Fn,
FnMut,
FnOnce,
AsyncFn,
AsyncFnMut,
AsyncFnOnce,
CallRefFuture,
CallOnceFuture,
AsyncFnOnceOutput,
FnOnceOutput,
Future,
CoroutineState,
Coroutine,
CoroutineReturn,
CoroutineYield,
Unpin,
Pin,
PartialEq,
PartialOrd,
CVoid,
Panic,
PanicNounwind,
PanicFmt,
PanicDisplay,
ConstPanicFmt,
PanicBoundsCheck,
PanicMisalignedPointerDereference,
PanicInfo,
PanicLocation,
PanicImpl,
PanicCannotUnwind,
PanicNullPointerDereference,
BeginPanic,
FormatAlignment,
FormatArgument,
FormatArguments,
FormatCount,
FormatPlaceholder,
FormatUnsafeArg,
ExchangeMalloc,
BoxFree,
DropInPlace,
AllocLayout,
Start,
EhPersonality,
EhCatchTypeinfo,
OwnedBox,
PhantomData,
ManuallyDrop,
MaybeUninit,
AlignOffset,
Termination,
Try,
Tuple,
SliceLen,
TryTraitFromResidual,
TryTraitFromOutput,
TryTraitBranch,
TryTraitFromYeet,
PointerLike,
ConstParamTy,
Poll,
PollReady,
PollPending,
ResumeTy,
GetContext,
Context,
FuturePoll,
FutureOutput,
Option,
OptionSome,
OptionNone,
ResultOk,
ResultErr,
ControlFlowContinue,
ControlFlowBreak,
IntoFutureIntoFuture,
IntoIterIntoIter,
IteratorNext,
Iterator,
PinNewUnchecked,
RangeFrom,
RangeFull,
RangeInclusiveStruct,
RangeInclusiveNew,
Range,
RangeToInclusive,
RangeTo,
String,
CStr,
Ordering,
}Expand description
A representation of all the valid language items in Rust.
Variants§
Sized
The sized lang item.
MetaSized
The meta_sized lang item.
PointeeSized
The pointee_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.
UnsafePinned
The unsafe_pinned 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.
ReceiverTarget
The receiver_target 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.
CallRefFuture
The call_ref_future lang item.
CallOnceFuture
The call_once_future lang item.
AsyncFnOnceOutput
The async_fn_once_output lang item.
FnOnceOutput
The fn_once_output lang item.
Future
The future_trait 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.
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.
PanicDisplay
The panic_display 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.
PanicNullPointerDereference
The panic_null_pointer_dereference 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.
BoxFree
The box_free 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.
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.
FutureOutput
The future_output 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.
Iterator
The iterator 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.
Ordering
The Ordering lang item.
Implementations§
Source§impl LangItem
impl LangItem
pub fn resolve_function( self, db: &dyn DefDatabase, start_crate: Crate, ) -> Option<FunctionId>
pub fn resolve_trait( self, db: &dyn DefDatabase, start_crate: Crate, ) -> Option<TraitId>
pub fn resolve_adt( self, db: &dyn DefDatabase, start_crate: Crate, ) -> Option<AdtId>
pub fn resolve_enum( self, db: &dyn DefDatabase, start_crate: Crate, ) -> Option<EnumId>
pub fn resolve_type_alias( self, db: &dyn DefDatabase, start_crate: Crate, ) -> Option<TypeAliasId>
Sourcepub fn from_name(name: &Name) -> Option<Self>
pub fn from_name(name: &Name) -> Option<Self>
Opposite of LangItem::name
pub fn path(&self, db: &dyn DefDatabase, start_crate: Crate) -> Option<Path>
pub fn ty_rel_path( &self, db: &dyn DefDatabase, start_crate: Crate, seg: Name, ) -> Option<Path>
Source§impl LangItem
impl LangItem
pub fn name(self) -> &'static str
Sourcepub fn from_symbol(sym: &Symbol) -> Option<Self>
pub fn from_symbol(sym: &Symbol) -> Option<Self>
Opposite of LangItem::name
Trait Implementations§
impl Copy for LangItem
impl Eq for LangItem
impl StructuralPartialEq for LangItem
Auto Trait Implementations§
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> 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> 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<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
§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