pub trait ArenaAllocatable<'tcx, C = IsNotCopy>: Sized {
    // Required methods
    fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self;
    fn allocate_from_iter<'a>(
        arena: &'a Arena<'tcx>,
        iter: impl IntoIterator<Item = Self>
    ) -> &'a mut [Self];
}

Required Methods§

source

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

Object Safety§

This trait is not object safe.

Implementations on Foreign Types§

source§

impl<'tcx> ArenaAllocatable<'tcx> for InlineAsmTemplatePiece

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for LayoutS<FieldIdx, VariantIdx>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for Attribute

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for StrippedCfgItem

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for Steal<(Crate, AttrVec)>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for Steal<(ResolverAstLowering, Lrc<Crate>)>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for Steal<IndexVec<Promoted, Body<'tcx>>>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for Steal<Body<'tcx>>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for Steal<Thir<'tcx>>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for UnordSet<LocalDefId>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for UnordSet<Symbol>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for Features

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for IndexVec<Promoted, Body<'tcx>>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for FnAbi<'tcx, Ty<'tcx>>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for FxIndexMap<HirId, Upvar>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for FxIndexSet<ItemLocalId>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for FxIndexSet<Symbol>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for DocLinkResMap

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for DefIdSet

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

source§

impl<'tcx> ArenaAllocatable<'tcx> for FxHashMap<DefId, EarlyBinder<Ty<'tcx>>>

source§

fn allocate_on<'a>(self, arena: &'a Arena<'tcx>) -> &'a mut Self

source§

fn allocate_from_iter<'a>( arena: &'a Arena<'tcx>, iter: impl IntoIterator<Item = Self> ) -> &'a mut [Self]

Implementors§

source§

impl<'tcx> ArenaAllocatable<'tcx> for ImplSource<'tcx, ()>

source§

impl<'tcx> ArenaAllocatable<'tcx> for ObjectSafetyViolation

source§

impl<'tcx> ArenaAllocatable<'tcx> for QueryRegionConstraints<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for ModChild

source§

impl<'tcx> ArenaAllocatable<'tcx> for EffectiveVisibilities

source§

impl<'tcx> ArenaAllocatable<'tcx> for ScopeTree

source§

impl<'tcx> ArenaAllocatable<'tcx> for CodeRegion

source§

impl<'tcx> ArenaAllocatable<'tcx> for Allocation

source§

impl<'tcx> ArenaAllocatable<'tcx> for CodegenUnit<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for BorrowCheckResult<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for UnsafetyCheckResult

source§

impl<'tcx> ArenaAllocatable<'tcx> for Body<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for CandidateStep<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for DropckConstraint<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for MethodAutoderefBadTy<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for GoalEvaluationStep<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for ExternalConstraintsData<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for PredefinedOpaquesData<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for AdtDefData

source§

impl<'tcx> ArenaAllocatable<'tcx> for ResolverGlobalCtxt

source§

impl<'tcx> ArenaAllocatable<'tcx> for TypeckResults<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for DepKindStruct<'tcx>

source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, ()>>

source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, DropckOutlivesResult<'tcx>>>

source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, NormalizationResult<'tcx>>>

source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, Clause<'tcx>>>

source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, Ty<'tcx>>>

source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, FnSig<'tcx>>>

source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, Vec<OutlivesBound<'tcx>>>>

source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, PolyFnSig<'tcx>>>

source§

impl<'tcx, T: Copy> ArenaAllocatable<'tcx, IsCopy> for T