[][src]Struct rustc_middle::arena::Arena

pub struct Arena<'tcx> {
    pub dropless: DroplessArena,
    drop: DropArena,
    layouts: TypedArena<Layout>,
    adt_def: TypedArena<AdtDef>,
    steal_mir: TypedArena<Steal<Body<'tcx>>>,
    mir: TypedArena<Body<'tcx>>,
    steal_promoted: TypedArena<Steal<IndexVec<Promoted, Body<'tcx>>>>,
    promoted: TypedArena<IndexVec<Promoted, Body<'tcx>>>,
    typeck_results: TypedArena<TypeckResults<'tcx>>,
    borrowck_result: TypedArena<BorrowCheckResult<'tcx>>,
    unsafety_check_result: TypedArena<UnsafetyCheckResult>,
    const_allocs: TypedArena<Allocation>,
    mir_keys: PhantomData<DefIdSet>,
    region_scope_tree: TypedArena<ScopeTree>,
    dropck_outlives: TypedArena<Canonical<'tcx, QueryResponse<'tcx, DropckOutlivesResult<'tcx>>>>,
    normalize_projection_ty: TypedArena<Canonical<'tcx, QueryResponse<'tcx, NormalizationResult<'tcx>>>>,
    implied_outlives_bounds: TypedArena<Canonical<'tcx, QueryResponse<'tcx, Vec<OutlivesBound<'tcx>>>>>,
    type_op_subtype: TypedArena<Canonical<'tcx, QueryResponse<'tcx, ()>>>,
    type_op_normalize_poly_fn_sig: TypedArena<Canonical<'tcx, QueryResponse<'tcx, PolyFnSig<'tcx>>>>,
    type_op_normalize_fn_sig: TypedArena<Canonical<'tcx, QueryResponse<'tcx, FnSig<'tcx>>>>,
    type_op_normalize_predicate: TypedArena<Canonical<'tcx, QueryResponse<'tcx, Predicate<'tcx>>>>,
    type_op_normalize_ty: TypedArena<Canonical<'tcx, QueryResponse<'tcx, Ty<'tcx>>>>,
    all_traits: PhantomData<Vec<DefId>>,
    privacy_access_levels: PhantomData<AccessLevels>,
    foreign_module: PhantomData<ForeignModule>,
    foreign_modules: PhantomData<Vec<ForeignModule>>,
    upvars_mentioned: TypedArena<FxIndexMap<HirId, Upvar>>,
    object_safety_violations: TypedArena<ObjectSafetyViolation>,
    codegen_unit: TypedArena<CodegenUnit<'tcx>>,
    attribute: TypedArena<Attribute>,
    name_set: TypedArena<FxHashSet<Symbol>>,
    hir_id_set: TypedArena<HirIdSet>,
    tys: TypedArena<TyS<'tcx>>,
    predicates: TypedArena<PredicateInner<'tcx>>,
    indexed_hir: PhantomData<IndexedHir<'tcx>>,
    hir_definitions: PhantomData<Definitions>,
    hir_owner: TypedArena<Owner<'tcx>>,
    hir_owner_nodes: TypedArena<OwnerNodes<'tcx>>,
    asm_template: TypedArena<InlineAsmTemplatePiece>,
    span: TypedArena<Span>,
    used_trait_imports: TypedArena<FxHashSet<LocalDefId>>,
}

Fields

dropless: DroplessArenadrop: DropArenalayouts: TypedArena<Layout>adt_def: TypedArena<AdtDef>steal_mir: TypedArena<Steal<Body<'tcx>>>mir: TypedArena<Body<'tcx>>steal_promoted: TypedArena<Steal<IndexVec<Promoted, Body<'tcx>>>>promoted: TypedArena<IndexVec<Promoted, Body<'tcx>>>typeck_results: TypedArena<TypeckResults<'tcx>>borrowck_result: TypedArena<BorrowCheckResult<'tcx>>unsafety_check_result: TypedArena<UnsafetyCheckResult>const_allocs: TypedArena<Allocation>mir_keys: PhantomData<DefIdSet>region_scope_tree: TypedArena<ScopeTree>dropck_outlives: TypedArena<Canonical<'tcx, QueryResponse<'tcx, DropckOutlivesResult<'tcx>>>>normalize_projection_ty: TypedArena<Canonical<'tcx, QueryResponse<'tcx, NormalizationResult<'tcx>>>>implied_outlives_bounds: TypedArena<Canonical<'tcx, QueryResponse<'tcx, Vec<OutlivesBound<'tcx>>>>>type_op_subtype: TypedArena<Canonical<'tcx, QueryResponse<'tcx, ()>>>type_op_normalize_poly_fn_sig: TypedArena<Canonical<'tcx, QueryResponse<'tcx, PolyFnSig<'tcx>>>>type_op_normalize_fn_sig: TypedArena<Canonical<'tcx, QueryResponse<'tcx, FnSig<'tcx>>>>type_op_normalize_predicate: TypedArena<Canonical<'tcx, QueryResponse<'tcx, Predicate<'tcx>>>>type_op_normalize_ty: TypedArena<Canonical<'tcx, QueryResponse<'tcx, Ty<'tcx>>>>all_traits: PhantomData<Vec<DefId>>privacy_access_levels: PhantomData<AccessLevels>foreign_module: PhantomData<ForeignModule>foreign_modules: PhantomData<Vec<ForeignModule>>upvars_mentioned: TypedArena<FxIndexMap<HirId, Upvar>>object_safety_violations: TypedArena<ObjectSafetyViolation>codegen_unit: TypedArena<CodegenUnit<'tcx>>attribute: TypedArena<Attribute>name_set: TypedArena<FxHashSet<Symbol>>hir_id_set: TypedArena<HirIdSet>tys: TypedArena<TyS<'tcx>>predicates: TypedArena<PredicateInner<'tcx>>indexed_hir: PhantomData<IndexedHir<'tcx>>hir_definitions: PhantomData<Definitions>hir_owner: TypedArena<Owner<'tcx>>hir_owner_nodes: TypedArena<OwnerNodes<'tcx>>asm_template: TypedArena<InlineAsmTemplatePiece>span: TypedArena<Span>used_trait_imports: TypedArena<FxHashSet<LocalDefId>>

Implementations

impl<'tcx> Arena<'tcx>[src]

pub fn alloc<T: ArenaAllocatable<'tcx, U>, U>(&self, value: T) -> &mut T[src]

pub fn alloc_slice<T: Copy>(&self, value: &[T]) -> &mut [T][src]

pub fn alloc_from_iter<'a, T: ArenaAllocatable<'tcx, U>, U>(
    &'a self,
    iter: impl IntoIterator<Item = T>
) -> &'a mut [T]
[src]

Trait Implementations

impl<'tcx> Default for Arena<'tcx>[src]

Auto Trait Implementations

impl<'tcx> !RefUnwindSafe for Arena<'tcx>

impl<'tcx> !Send for Arena<'tcx>

impl<'tcx> !Sync for Arena<'tcx>

impl<'tcx> Unpin for Arena<'tcx>

impl<'tcx> !UnwindSafe for Arena<'tcx>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<'a, T> Captures<'a> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> MaybeResult<T> for T[src]

type Error = !

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> WithConstness for T[src]