pub enum CfgAbi {
Show 23 variants
Abi64,
AbiV2,
AbiV2Hf,
Eabi,
EabiHf,
ElfV1,
ElfV2,
Fortanix,
Ilp32,
Ilp32e,
Llvm,
MacAbi,
Pauthtest,
Sim,
SoftFloat,
Spe,
Uwp,
VecDefault,
VecExtAbi,
X32,
V8Plus,
Unspecified,
Other(Ustr),
}Expand description
An enum representing possible values for cfg(target_abi).
This field is not forwarded to LLVM so it does not by itself affect codegen.
See the cfg_abi field of [TargetOptions] for more details.
Variants§
Abi64
AbiV2
AbiV2Hf
Eabi
EabiHf
ElfV1
ElfV2
Fortanix
Ilp32
Ilp32e
Llvm
MacAbi
Pauthtest
Sim
SoftFloat
Spe
Uwp
VecDefault
VecExtAbi
X32
V8Plus
Unspecified
Other(Ustr)
The vast majority of the time, the compiler deals with a fixed
set of values, so it is convenient for them to be represented in
an enum. However, it is possible to have arbitrary values in a
target JSON file (which can be parsed when --target is
specified). This might occur, for example, for an out-of-tree
codegen backend that supports a value (e.g. architecture or OS)
that rustc currently doesn’t know about. This variant exists as
an escape hatch for such cases.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for CfgAbi
impl<'de> Deserialize<'de> for CfgAbi
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'s, V> Drive<'s, V> for CfgAbiwhere
V: Visitor + Visit<'s, Ustr>,
impl<'s, V> Drive<'s, V> for CfgAbiwhere
V: Visitor + Visit<'s, Ustr>,
Source§fn drive_inner(&'s self, visitor: &mut V) -> ControlFlow<V::Break>
fn drive_inner(&'s self, visitor: &mut V) -> ControlFlow<V::Break>
Call
v.visit() on the immediate contents of self.Source§impl<'s, V> DriveMut<'s, V> for CfgAbiwhere
V: Visitor + VisitMut<'s, Ustr>,
impl<'s, V> DriveMut<'s, V> for CfgAbiwhere
V: Visitor + VisitMut<'s, Ustr>,
Source§fn drive_inner_mut(&'s mut self, visitor: &mut V) -> ControlFlow<V::Break>
fn drive_inner_mut(&'s mut self, visitor: &mut V) -> ControlFlow<V::Break>
Call
v.visit() on the immediate contents of self.Source§impl<'s, V> DriveTwo<'s, V> for CfgAbi
impl<'s, V> DriveTwo<'s, V> for CfgAbi
Source§fn drive_two_inner(
&'s self,
other: &'s Self,
visitor: &mut V,
) -> ControlFlow<V::Break>
fn drive_two_inner( &'s self, other: &'s Self, visitor: &mut V, ) -> ControlFlow<V::Break>
Call
v.visit() on the immediate contents of self and other, if they correspond. If
the values don’t match up, this returns Break(Default::default()).impl Eq for CfgAbi
impl StructuralPartialEq for CfgAbi
Auto Trait Implementations§
impl Freeze for CfgAbi
impl RefUnwindSafe for CfgAbi
impl Send for CfgAbi
impl Sync for CfgAbi
impl Unpin for CfgAbi
impl UnsafeUnpin for CfgAbi
impl UnwindSafe for CfgAbi
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
§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
Checks if this value is equivalent to the given key. Read more
§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
Compare self to
key and return true if they are equal.§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> ⓘ
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 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> ⓘ
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