#[non_exhaustive]#[repr(u64)]pub enum SelectionKind {
Any = 0,
ExactMatch = 1,
Largest = 2,
NoDeduplicate = 3,
SameSize = 4,
}
Expand description
The different kinds of COMDAT selections.
This is a nearly direct copy of LLVM’s SelectionKind
; see IR/Comdat.h
.
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.
Any = 0
The linker may choose any COMDAT.
ExactMatch = 1
The data referenced by the COMDAT must be the same.
Largest = 2
The linker will choose the largest COMDAT.
NoDeduplicate = 3
No deduplication is performed.
SameSize = 4
The data referenced by the COMDAT must be the same size.
Trait Implementations§
Source§impl Debug for SelectionKind
impl Debug for SelectionKind
Source§impl TryFrom<u64> for SelectionKind
impl TryFrom<u64> for SelectionKind
Source§type Error = TryFromPrimitiveError<SelectionKind>
type Error = TryFromPrimitiveError<SelectionKind>
The type returned in the event of a conversion error.
Source§impl TryFromPrimitive for SelectionKind
impl TryFromPrimitive for SelectionKind
Auto Trait Implementations§
impl Freeze for SelectionKind
impl RefUnwindSafe for SelectionKind
impl Send for SelectionKind
impl Sync for SelectionKind
impl Unpin for SelectionKind
impl UnwindSafe for SelectionKind
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