rustc_middle::arena

Trait ArenaAllocatable

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

Required Methods§

source

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

source

fn allocate_from_iter( arena: &'tcx Arena<'tcx>, iter: impl IntoIterator<Item = Self>, ) -> &'tcx 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(self, arena: &'tcx Arena<'tcx>) -> &'tcx mut Self

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

impl<'tcx> ArenaAllocatable<'tcx> for OwnerNodes<'tcx>

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

source§

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

Implementors§

source§

impl<'tcx> ArenaAllocatable<'tcx> for DynCompatibilityViolation

source§

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

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

source§

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

source§

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

source§

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

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, Vec<OutlivesBound<'tcx>>>>

source§

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

source§

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

source§

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