# Trait rustc_middle::arena::ArenaAllocatable

source ·

    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 UnordMap<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]

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 OwnerNodes<'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 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]

## Implementors§

source§

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

source§

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

source§

### impl<'tcx> ArenaAllocatable<'tcx> for PatternKind<'tcx>

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 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 Graph

source§

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

source§

### impl<'tcx> ArenaAllocatable<'tcx> for CrateInherentImpls

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