Struct rustc_middle::thir::Adt [−][src]
pub struct Adt<'tcx> {
pub adt_def: &'tcx AdtDef,
pub variant_index: VariantIdx,
pub substs: SubstsRef<'tcx>,
pub user_ty: Option<Canonical<'tcx, UserType<'tcx>>>,
pub fields: Box<[FieldExpr]>,
pub base: Option<FruInfo<'tcx>>,
}Fields
adt_def: &'tcx AdtDefThe ADT we’re constructing.
variant_index: VariantIdxThe variant of the ADT.
substs: SubstsRef<'tcx>user_ty: Option<Canonical<'tcx, UserType<'tcx>>>Optional user-given substs: for something like let x = Bar::<T> { ... }.
fields: Box<[FieldExpr]>base: Option<FruInfo<'tcx>>The base, e.g. Foo {x: 1, .. base}.
Trait Implementations
Auto Trait Implementations
impl<'tcx> !RefUnwindSafe for Adt<'tcx>impl<'tcx> !UnwindSafe for Adt<'tcx>Blanket Implementations
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: 120 bytes