Skip to main content

VariableAnnotation

Enum VariableAnnotation 

Source
pub enum VariableAnnotation {
    NonNull,
    ReadOnly,
    WriteOnly,
    Align(u32),
    Sensitive,
    Register(String),
    Unused,
}
Expand description

Attributes that can be applied to function parameters and variables.

Variants§

§

NonNull

Mark this parameter as non-null (never accepts null pointers).

This lets the compiler optimize away null checks and enables more aggressive optimizations for pointer operations.

§

ReadOnly

Mark this parameter as read-only (not modified by the function).

Read-only parameters can be passed by reference without copying, and the compiler can optimize based on the immutability guarantee.

§

WriteOnly

Mark this parameter as write-only (only written to, never read from).

Write-only parameters are typically used for output parameters. The compiler can optimize away reads from these parameters.

§

Align(u32)

Specify the alignment requirement for this parameter in bytes.

Parameter alignment affects how the parameter is passed and stored. This can improve performance on some architectures.

§

Sensitive

Mark this parameter as sensitive (contains security-critical data).

Sensitive parameters may receive special treatment such as avoiding storage in registers or zeroing them after use.

§

Register(String)

Specify that this parameter should be passed in a specific register.

Register assignment can improve performance but reduces flexibility. Only use when you know the target ABI well.

§

Unused

Mark this parameter as unused (not used by the function).

Unused parameters may be optimized away or may indicate API compatibility.

Trait Implementations§

Source§

impl Clone for VariableAnnotation

Source§

fn clone(&self) -> VariableAnnotation

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for VariableAnnotation

Source§

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

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

impl Display for VariableAnnotation

Source§

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

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

impl Eq for VariableAnnotation

Source§

impl Hash for VariableAnnotation

Source§

fn hash<__H>(&self, state: &mut __H)
where __H: Hasher,

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 PartialEq for VariableAnnotation

Source§

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

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for VariableAnnotation

Auto Trait Implementations§

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, dest: *mut u8)

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

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.