Struct rustc_middle::arena::Arena
source · pub struct Arena<'tcx> {Show 49 fields
pub dropless: DroplessArena,
layout: TypedArena<LayoutS<VariantIdx>>,
fn_abi: TypedArena<FnAbi<'tcx, Ty<'tcx>>>,
adt_def: TypedArena<AdtDefData>,
steal_thir: TypedArena<Steal<Thir<'tcx>>>,
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>>,
resolver: TypedArena<Steal<ResolverAstLowering>>,
unsafety_check_result: TypedArena<UnsafetyCheckResult>,
code_region: TypedArena<CodeRegion>,
const_allocs: TypedArena<Allocation>,
region_scope_tree: TypedArena<ScopeTree>,
mir_keys: TypedArena<DefIdSet>,
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>>>>>,
dtorck_constraint: TypedArena<DropckConstraint<'tcx>>,
candidate_step: TypedArena<CandidateStep<'tcx>>,
autoderef_bad_ty: TypedArena<MethodAutoderefBadTy<'tcx>>,
query_region_constraints: TypedArena<QueryRegionConstraints<'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: TypedArena<Vec<DefId>>,
effective_visibilities: TypedArena<EffectiveVisibilities>,
foreign_module: TypedArena<ForeignModule>,
foreign_modules: TypedArena<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<WithCachedTypeInfo<TyKind<'tcx>>>,
predicates: TypedArena<WithCachedTypeInfo<PredicateKind<'tcx>>>,
consts: TypedArena<ConstS<'tcx>>,
asm_template: TypedArena<InlineAsmTemplatePiece>,
used_trait_imports: TypedArena<UnordSet<LocalDefId>>,
is_late_bound_map: TypedArena<FxIndexSet<LocalDefId>>,
impl_source: TypedArena<ImplSource<'tcx, ()>>,
dep_kind: TypedArena<DepKindStruct<'tcx>>,
trait_impl_trait_tys: TypedArena<FxHashMap<DefId, Ty<'tcx>>>,
bit_set_u32: TypedArena<BitSet<u32>>,
}Fields§
§dropless: DroplessArena§layout: TypedArena<LayoutS<VariantIdx>>§fn_abi: TypedArena<FnAbi<'tcx, Ty<'tcx>>>§adt_def: TypedArena<AdtDefData>§steal_thir: TypedArena<Steal<Thir<'tcx>>>§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>>§resolver: TypedArena<Steal<ResolverAstLowering>>§unsafety_check_result: TypedArena<UnsafetyCheckResult>§code_region: TypedArena<CodeRegion>§const_allocs: TypedArena<Allocation>§region_scope_tree: TypedArena<ScopeTree>§mir_keys: TypedArena<DefIdSet>§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>>>>>§dtorck_constraint: TypedArena<DropckConstraint<'tcx>>§candidate_step: TypedArena<CandidateStep<'tcx>>§autoderef_bad_ty: TypedArena<MethodAutoderefBadTy<'tcx>>§query_region_constraints: TypedArena<QueryRegionConstraints<'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: TypedArena<Vec<DefId>>§effective_visibilities: TypedArena<EffectiveVisibilities>§foreign_module: TypedArena<ForeignModule>§foreign_modules: TypedArena<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<WithCachedTypeInfo<TyKind<'tcx>>>§predicates: TypedArena<WithCachedTypeInfo<PredicateKind<'tcx>>>§consts: TypedArena<ConstS<'tcx>>§asm_template: TypedArena<InlineAsmTemplatePiece>§used_trait_imports: TypedArena<UnordSet<LocalDefId>>§is_late_bound_map: TypedArena<FxIndexSet<LocalDefId>>§impl_source: TypedArena<ImplSource<'tcx, ()>>§dep_kind: TypedArena<DepKindStruct<'tcx>>§trait_impl_trait_tys: TypedArena<FxHashMap<DefId, Ty<'tcx>>>§bit_set_u32: TypedArena<BitSet<u32>>Implementations§
source§impl<'tcx> Arena<'tcx>
impl<'tcx> Arena<'tcx>
pub fn alloc<T: ArenaAllocatable<'tcx, C>, C>(&self, value: T) -> &mut T
pub fn alloc_slice<T: Copy>(&self, value: &[T]) -> &mut [T] ⓘ
pub fn alloc_from_iter<'a, T: ArenaAllocatable<'tcx, C>, C>(
&'a self,
iter: impl IntoIterator<Item = T>
) -> &'a mut [T] ⓘ
Trait Implementations§
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§
source§impl<T, R> InternIteratorElement<T, R> for T
impl<T, R> InternIteratorElement<T, R> for T
type Output = R
fn intern_with<I, F>(iter: I, f: F) -> <T as InternIteratorElement<T, R>>::Outputwhere
I: Iterator<Item = T>,
F: FnOnce(&[T]) -> R,
source§impl<T> MaybeResult<T> for T
impl<T> MaybeResult<T> for T
source§impl<'tcx, T> ToPredicate<'tcx, T> for T
impl<'tcx, T> ToPredicate<'tcx, T> for T
fn to_predicate(self, _tcx: TyCtxt<'tcx>) -> T
source§impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
impl<Tcx, T> Value<Tcx> for Twhere
Tcx: DepContext,
default fn from_cycle_error(tcx: Tcx, _: &[QueryInfo]) -> T
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. 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: 2352 bytes