#[non_exhaustive]pub enum Architecture {
Show 33 variants
Unknown,
Arm(ArmArchitecture),
AmdGcn,
Aarch64(Aarch64Architecture),
Asmjs,
Avr,
Bpfeb,
Bpfel,
Hexagon,
X86_32(X86_32Architecture),
M68k,
LoongArch64,
Mips32(Mips32Architecture),
Mips64(Mips64Architecture),
Msp430,
Nvptx64,
Pulley32,
Pulley64,
Powerpc,
Powerpc64,
Powerpc64le,
Riscv32(Riscv32Architecture),
Riscv64(Riscv64Architecture),
S390x,
Sparc,
Sparc64,
Sparcv9,
Wasm32,
Wasm64,
X86_64,
X86_64h,
XTensa,
Clever(CleverArchitecture),
}
Expand description
The “architecture” field, which in some cases also specifies a specific subarchitecture.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Unknown
Arm(ArmArchitecture)
AmdGcn
Aarch64(Aarch64Architecture)
Asmjs
Avr
Bpfeb
Bpfel
Hexagon
X86_32(X86_32Architecture)
M68k
LoongArch64
Mips32(Mips32Architecture)
Mips64(Mips64Architecture)
Msp430
Nvptx64
Pulley32
Pulley64
Powerpc
Powerpc64
Powerpc64le
Riscv32(Riscv32Architecture)
Riscv64(Riscv64Architecture)
S390x
Sparc
Sparc64
Sparcv9
Wasm32
Wasm64
X86_64
X86_64h
x86_64 target that only supports Haswell-compatible Intel chips.
XTensa
Clever(CleverArchitecture)
Implementations§
source§impl Architecture
impl Architecture
sourcepub const fn host() -> Architecture
pub const fn host() -> Architecture
Return the architecture for the current host.
source§impl Architecture
impl Architecture
sourcepub fn endianness(self) -> Result<Endianness, ()>
pub fn endianness(self) -> Result<Endianness, ()>
Return the endianness of this architecture.
sourcepub fn pointer_width(self) -> Result<PointerWidth, ()>
pub fn pointer_width(self) -> Result<PointerWidth, ()>
Return the pointer bit width of this target’s architecture.
This function is only aware of the CPU architecture so it is not aware of ilp32 and x32 ABIs.
Trait Implementations§
source§impl Clone for Architecture
impl Clone for Architecture
source§fn clone(&self) -> Architecture
fn clone(&self) -> Architecture
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl Debug for Architecture
impl Debug for Architecture
source§impl Display for Architecture
impl Display for Architecture
source§impl FromStr for Architecture
impl FromStr for Architecture
source§impl Hash for Architecture
impl Hash for Architecture
source§impl PartialEq for Architecture
impl PartialEq for Architecture
impl Copy for Architecture
impl Eq for Architecture
impl StructuralPartialEq for Architecture
Auto Trait Implementations§
impl Freeze for Architecture
impl RefUnwindSafe for Architecture
impl Send for Architecture
impl Sync for Architecture
impl Unpin for Architecture
impl UnwindSafe for Architecture
Blanket Implementations§
source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.