Enum rustc_middle::mir::AggregateKind [−][src]
pub enum AggregateKind<'tcx> {
Array(Ty<'tcx>),
Tuple,
Adt(&'tcx AdtDef, VariantIdx, SubstsRef<'tcx>, Option<UserTypeAnnotationIndex>, Option<usize>),
Closure(DefId, SubstsRef<'tcx>),
Generator(DefId, SubstsRef<'tcx>, Movability),
}Variants
Array(Ty<'tcx>)The type is of the element
Adt(&'tcx AdtDef, VariantIdx, SubstsRef<'tcx>, Option<UserTypeAnnotationIndex>, Option<usize>)The second field is the variant index. It’s equal to 0 for struct
and union expressions. The fourth field is
active field number and is present only for union expressions
– e.g., for a union expression SomeUnion { c: .. }, the
active field index would identity the field c
Generator(DefId, SubstsRef<'tcx>, Movability)Trait Implementations
This method tests for self and other values to be equal, and is used
by ==. Read more
This method tests for !=.
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for AggregateKind<'tcx>impl<'tcx> !Send for AggregateKind<'tcx>impl<'tcx> !Sync for AggregateKind<'tcx>impl<'tcx> Unpin for AggregateKind<'tcx>impl<'tcx> !UnwindSafe for AggregateKind<'tcx>Blanket Implementations
Mutably borrows from an owned value. Read more
Layout
Note: Most layout information is completely unstable and may be different between compiler versions and platforms. The only exception is types with certain repr(...) attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 48 bytes