Enum rustc_target::abi::Variants [−][src]
pub enum Variants {
Single {
index: VariantIdx,
},
Multiple {
tag: Scalar,
tag_encoding: TagEncoding,
tag_field: usize,
variants: IndexVec<VariantIdx, Layout>,
},
}Variants
Expand description
Single enum variants, structs/tuples, unions, and all non-ADTs.
Show fields
Fields of Single
index: VariantIdxExpand description
Enum-likes with more than one inhabited variant: each variant comes with a discriminant (usually the same as the variant index but the user can assign explicit discriminant values). That discriminant is encoded as a tag on the machine. The layout of each variant is a struct, and they all have space reserved for the tag. For enums, the tag is the sole field of the layout.
Show fields
Fields of Multiple
Trait Implementations
impl<__CTX> HashStable<__CTX> for Variants where
__CTX: HashStableContext, [src]
impl<__CTX> HashStable<__CTX> for Variants where
__CTX: HashStableContext, [src]fn hash_stable(&self, __hcx: &mut __CTX, __hasher: &mut StableHasher)[src]
impl Eq for Variants[src]
impl StructuralEq for Variants[src]
impl StructuralPartialEq for Variants[src]
Auto Trait Implementations
impl RefUnwindSafe for Variants
impl Send for Variants
impl Sync for Variants
impl Unpin for Variants
impl UnwindSafe for Variants
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]pub fn borrow_mut(&mut self) -> &mut T[src]
pub fn borrow_mut(&mut self) -> &mut T[src]Mutably borrows from an owned value. Read more
impl<T> MaybeResult<T> for T[src]
impl<T> MaybeResult<T> for T[src]