Struct Class

Source
pub struct Class(/* private fields */);
Available on AArch64 only.
Expand description

Classifies different exception causes.

Note that the Arm documentation defines more variants than are defined in this type. This only includes exception classes that can be triggered from Aarch64 state and taken to EL1.

Implementations§

Source§

impl Class

Source

pub const Unknown: Self

Tried to execute an undefined/unsupported opcode, or for any other reason that does not fall under another exception class.

Source

pub const Wait: Self

Trapped execution of a wait instruction (WFE/WFI).

Source

pub const FPUAccess: Self

Trapped access to a FPU/vector register or instruction.

Source

pub const IllegalState: Self

Tried to execute instructions after an illegal return.

Source

pub const SupervisorCall: Self

Triggered a system call via the SVC instruction.

Source

pub const SystemInstruction: Self

Trapped access to a system register or instruction.

Source

pub const VectorAccess: Self

Trapped access to a vector register or instruction.

Source

pub const PointerAuthFailure: Self

Improperly authenticated pointer detected. Requires FEAT_FPAC.

Source

pub const InstructionAbortFromLower: Self

Instruction abort triggered at lower exception level.

Source

pub const InstructionAbortFromCurrent: Self

Instruction abort triggered at current exception level.

Source

pub const PCAlignment: Self

Program counter not properly aligned.

Source

pub const DataAbortFromLower: Self

Data abort triggered at lower exception level.

Source

pub const DataAbortFromCurrent: Self

Data abort triggered at current exception level.

Source

pub const SPAlignment: Self

Stack pointer not properly aligned.

Source

pub const FloatException: Self

Trapped floating point exception.

Source

pub const SystemError: Self

System error (SError).

Source

pub const BreakpointFromLower: Self

Breakpoint triggered at lower exception level.

Source

pub const BreakpointFromCurrent: Self

Breakpoint triggered at current exception level.

Source

pub const StepFromLower: Self

Software step at lower exception level.

Source

pub const StepFromCurrent: Self

Software step at current exception level.

Source

pub const WatchpointFromLower: Self

Watchpoint triggered at lower exception level.

Source

pub const WatchpointFromCurrent: Self

Watchpoint triggered at current exception level.

Source

pub const BreakpointInstruction: Self

Executed a BRK breakpoint instruction.

Source

pub const fn name(self) -> Option<&'static str>

The name of the enum variant in code, if one is defined for this value.

An identical method is available through the CEnum trait, but this version is declared const (which is currently unstable on traits).

Trait Implementations§

Source§

impl CEnum<u8> for Class

Source§

fn name(self) -> Option<&'static str>

The name of the enum variant in code, if one is defined for this value.
Source§

impl Clone for Class

Source§

fn clone(&self) -> Class

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 Class

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Class

Source§

fn default() -> Class

Returns the “default value” for a type. Read more
Source§

impl From<Class> for u8

Source§

fn from(enum_value: Class) -> Self

Converts to this type from the input type.
Source§

impl From<u8> for Class

Source§

fn from(repr: u8) -> Self

Converts to this type from the input type.
Source§

impl Hash for Class

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 Ord for Class

Source§

fn cmp(&self, other: &Class) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for Class

Source§

fn eq(&self, other: &Class) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for Class

Source§

fn partial_cmp(&self, other: &Class) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Copy for Class

Source§

impl Eq for Class

Source§

impl StructuralPartialEq for Class

Auto Trait Implementations§

§

impl Freeze for Class

§

impl RefUnwindSafe for Class

§

impl Send for Class

§

impl Sync for Class

§

impl Unpin for Class

§

impl UnwindSafe for Class

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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 T
where 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

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 T
where U: TryFrom<T>,

Source§

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.