Struct rustc_middle::arena::Arena
source · pub struct Arena<'tcx> {Show 62 fields
pub dropless: DroplessArena,
layout: TypedArena<LayoutS<FieldIdx, 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>>>,
closure_debuginfo: TypedArena<IndexVec<FieldIdx, Symbol>>,
typeck_results: TypedArena<TypeckResults<'tcx>>,
borrowck_result: TypedArena<BorrowCheckResult<'tcx>>,
resolver: TypedArena<Steal<(ResolverAstLowering, Lrc<Crate>)>>,
output_filenames: TypedArena<Arc<OutputFilenames>>,
crate_for_resolver: TypedArena<Steal<(Crate, AttrVec)>>,
resolutions: TypedArena<ResolverGlobalCtxt>,
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_clause: TypedArena<Canonical<'tcx, QueryResponse<'tcx, Clause<'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<UnordSet<Symbol>>,
ordered_name_set: TypedArena<FxIndexSet<Symbol>>,
hir_id_set: TypedArena<HirIdSet>,
tys: TypedArena<WithCachedTypeInfo<TyKind<'tcx>>>,
predicates: TypedArena<WithCachedTypeInfo<PredicateKind<'tcx>>>,
consts: TypedArena<ConstData<'tcx>>,
asm_template: TypedArena<InlineAsmTemplatePiece>,
used_trait_imports: TypedArena<UnordSet<LocalDefId>>,
registered_tools: TypedArena<RegisteredTools>,
is_late_bound_map: TypedArena<FxIndexSet<ItemLocalId>>,
impl_source: TypedArena<ImplSource<'tcx, ()>>,
dep_kind: TypedArena<DepKindStruct<'tcx>>,
trait_impl_trait_tys: TypedArena<FxHashMap<DefId, EarlyBinder<Ty<'tcx>>>>,
bit_set_u32: TypedArena<BitSet<u32>>,
external_constraints: TypedArena<ExternalConstraintsData<'tcx>>,
predefined_opaques_in_body: TypedArena<PredefinedOpaquesData<'tcx>>,
doc_link_resolutions: TypedArena<DocLinkResMap>,
closure_kind_origin: TypedArena<(Span, Place<'tcx>)>,
stripped_cfg_items: TypedArena<StrippedCfgItem>,
mod_child: TypedArena<ModChild>,
features: TypedArena<Features>,
}Fields§
§dropless: DroplessArena§layout: TypedArena<LayoutS<FieldIdx, 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>>>§closure_debuginfo: TypedArena<IndexVec<FieldIdx, Symbol>>§typeck_results: TypedArena<TypeckResults<'tcx>>§borrowck_result: TypedArena<BorrowCheckResult<'tcx>>§resolver: TypedArena<Steal<(ResolverAstLowering, Lrc<Crate>)>>§output_filenames: TypedArena<Arc<OutputFilenames>>§crate_for_resolver: TypedArena<Steal<(Crate, AttrVec)>>§resolutions: TypedArena<ResolverGlobalCtxt>§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_clause: TypedArena<Canonical<'tcx, QueryResponse<'tcx, Clause<'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<UnordSet<Symbol>>§ordered_name_set: TypedArena<FxIndexSet<Symbol>>§hir_id_set: TypedArena<HirIdSet>§tys: TypedArena<WithCachedTypeInfo<TyKind<'tcx>>>§predicates: TypedArena<WithCachedTypeInfo<PredicateKind<'tcx>>>§consts: TypedArena<ConstData<'tcx>>§asm_template: TypedArena<InlineAsmTemplatePiece>§used_trait_imports: TypedArena<UnordSet<LocalDefId>>§registered_tools: TypedArena<RegisteredTools>§is_late_bound_map: TypedArena<FxIndexSet<ItemLocalId>>§impl_source: TypedArena<ImplSource<'tcx, ()>>§dep_kind: TypedArena<DepKindStruct<'tcx>>§trait_impl_trait_tys: TypedArena<FxHashMap<DefId, EarlyBinder<Ty<'tcx>>>>§bit_set_u32: TypedArena<BitSet<u32>>§external_constraints: TypedArena<ExternalConstraintsData<'tcx>>§predefined_opaques_in_body: TypedArena<PredefinedOpaquesData<'tcx>>§doc_link_resolutions: TypedArena<DocLinkResMap>§closure_kind_origin: TypedArena<(Span, Place<'tcx>)>§stripped_cfg_items: TypedArena<StrippedCfgItem>§mod_child: TypedArena<ModChild>§features: TypedArena<Features>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<T: ArenaAllocatable<'tcx, C>, C>( &self, iter: impl IntoIterator<Item = T> ) -> &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> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
source§impl<P> IntoQueryParam<P> for P
impl<P> IntoQueryParam<P> for P
fn into_query_param(self) -> P
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, cycle: &[QueryInfo], _guar: ErrorGuaranteed ) -> 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: 2976 bytes