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

pub struct Arena<'tcx> {
Show fields 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>, code_region: TypedArena<CodeRegion>, 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>code_region: TypedArena<CodeRegion>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]

Notable traits for &'_ [u8]

impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
[src]

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

Notable traits for &'_ [u8]

impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
[src]

Trait Implementations

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

fn default() -> Arena<'tcx>[src]

Returns the “default value” for a type. Read more

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]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

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

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

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

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

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

pub fn into(self) -> U[src]

Performs the conversion.

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

type Error = !

pub fn from(Result<T, <T as MaybeResult<T>>::Error>) -> T[src]

pub fn to_result(self) -> Result<T, <T as MaybeResult<T>>::Error>[src]

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.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

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.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> WithConstness for T[src]

fn with_constness(self, constness: Constness) -> ConstnessAnd<Self>[src]

fn with_const(self) -> ConstnessAnd<Self>[src]

fn without_const(self) -> ConstnessAnd<Self>[src]

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

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: 1712 bytes