Enum AttributeId

Source
#[non_exhaustive]
#[repr(u64)]
pub enum AttributeId {
Show 78 variants Alignment = 1, AlwaysInline = 2, ByVal = 3, InlineHint = 4, InReg = 5, MinSize = 6, Naked = 7, Nest = 8, NoAlias = 9, NoBuiltin = 10, NoCapture = 11, NoDuplicate = 12, NoImplicitFloat = 13, NoInline = 14, NonLazyBind = 15, NoRedZone = 16, NoReturn = 17, NoUnwind = 18, OptimizeForSize = 19, ReadNone = 20, ReadOnly = 21, Returned = 22, ReturnsTwice = 23, SExt = 24, StackAlignment = 25, StackProtect = 26, StackProtectReq = 27, StackProtectStrong = 28, StructRet = 29, SanitizeAddress = 30, SanitizeThread = 31, SanitizeMemory = 32, UwTable = 33, ZExt = 34, Builtin = 35, Cold = 36, OptimizeNone = 37, InAlloca = 38, NonNull = 39, JumpTable = 40, Dereferenceable = 41, DereferenceableOrNull = 42, Convergent = 43, SafeStack = 44, ArgMemOnly = 45, SwiftSelf = 46, SwiftError = 47, NoRecurse = 48, InaccessiblememOnly = 49, InaccessiblememOrArgmemonly = 50, AllocSize = 51, WriteOnly = 52, Speculatable = 53, StrictFp = 54, SanitizeHwAddress = 55, NoCfCheck = 56, OptForFuzzing = 57, Shadowcallstack = 58, SpeculativeLoadHardening = 59, ImmArg = 60, WillReturn = 61, NoFree = 62, NoSync = 63, SanitizeMemtag = 64, Preallocated = 65, NoMerge = 66, NullPointerIsValid = 67, NoUndef = 68, ByRef = 69, MustProgress = 70, NoCallback = 71, Hot = 72, NoProfile = 73, VScaleRange = 74, SwiftAsync = 75, NoSanitizeCoverage = 76, ElementType = 77, DisableSanitizerInstrumentation = 78,
}
Expand description

Represents the IDs of different specific attributes.

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.
§

Alignment = 1

align(<n>)

§

AlwaysInline = 2

alwaysinline

§

ByVal = 3

byval

§

InlineHint = 4

inlinehint

§

InReg = 5

inreg

§

MinSize = 6

minsize

§

Naked = 7

naked

§

Nest = 8

nest

§

NoAlias = 9

noalias

§

NoBuiltin = 10

nobuiltin

§

NoCapture = 11

nocapture

§

NoDuplicate = 12

noduplicate

§

NoImplicitFloat = 13

noimplicitfloat

§

NoInline = 14

noinline

§

NonLazyBind = 15

nonlazybind

§

NoRedZone = 16

noredzone

§

NoReturn = 17

noreturn

§

NoUnwind = 18

nounwind

§

OptimizeForSize = 19

optsize

§

ReadNone = 20

readnone

§

ReadOnly = 21

readonly

§

Returned = 22

returned

§

ReturnsTwice = 23

returns_twice

§

SExt = 24

signext

§

StackAlignment = 25

alignstack(<n>)

§

StackProtect = 26

ssp

§

StackProtectReq = 27

sspreq

§

StackProtectStrong = 28

sspstrong

§

StructRet = 29

sret

§

SanitizeAddress = 30

sanitize_address

§

SanitizeThread = 31

sanitize_thread

§

SanitizeMemory = 32

sanitize_memory

§

UwTable = 33

uwtable

§

ZExt = 34

zeroext

§

Builtin = 35

builtin

§

Cold = 36

cold

§

OptimizeNone = 37

optnone

§

InAlloca = 38

inalloca

§

NonNull = 39

nonnull

§

JumpTable = 40

jumptable

§

Dereferenceable = 41

dereferenceable(<n>)

§

DereferenceableOrNull = 42

dereferenceable_or_null(<n>)

§

Convergent = 43

convergent

§

SafeStack = 44

safestack

§

ArgMemOnly = 45

argmemonly

§

SwiftSelf = 46

swiftself

§

SwiftError = 47

swifterror

§

NoRecurse = 48

norecurse

§

InaccessiblememOnly = 49

inaccessiblememonly

§

InaccessiblememOrArgmemonly = 50

inaccessiblememonly_or_argmemonly

§

AllocSize = 51

allocsize(<EltSizeParam>[, <NumEltsParam>])

§

WriteOnly = 52

writeonly

§

Speculatable = 53

speculatable

§

StrictFp = 54

strictfp

§

SanitizeHwAddress = 55

sanitize_hwaddress

§

NoCfCheck = 56

nocf_check

§

OptForFuzzing = 57

optforfuzzing

§

Shadowcallstack = 58

shadowcallstack

§

SpeculativeLoadHardening = 59

speculative_load_hardening

§

ImmArg = 60

immarg

§

WillReturn = 61

willreturn

§

NoFree = 62

nofree

§

NoSync = 63

nosync

§

SanitizeMemtag = 64

sanitize_memtag

§

Preallocated = 65

preallocated

§

NoMerge = 66

no_merge

§

NullPointerIsValid = 67

null_pointer_is_valid

§

NoUndef = 68

noundef

§

ByRef = 69

byref

§

MustProgress = 70

mustprogress

§

NoCallback = 71

no_callback

§

Hot = 72

hot

§

NoProfile = 73

no_profile

§

VScaleRange = 74

vscale_range(<Min>[, <Max>])

§

SwiftAsync = 75

swift_async

§

NoSanitizeCoverage = 76

nosanitize_coverage

§

ElementType = 77

elementtype

§

DisableSanitizerInstrumentation = 78

disable_sanitizer_instrumentation

Trait Implementations§

Source§

impl Clone for AttributeId

Source§

fn clone(&self) -> AttributeId

Returns a duplicate 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 AttributeId

Source§

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

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

impl PartialEq for AttributeId

Source§

fn eq(&self, other: &AttributeId) -> 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 TryFrom<u64> for AttributeId

Source§

type Error = TryFromPrimitiveError<AttributeId>

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

fn try_from(number: u64) -> Result<Self, TryFromPrimitiveError<Self>>

Performs the conversion.
Source§

impl TryFromPrimitive for AttributeId

Source§

const NAME: &'static str = "AttributeId"

Source§

type Primitive = u64

Source§

fn try_from_primitive( number: Self::Primitive, ) -> Result<Self, TryFromPrimitiveError<Self>>

Source§

impl Copy for AttributeId

Source§

impl StructuralPartialEq for AttributeId

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, 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.