Skip to main content

ArenaAllocatable

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]

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

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 AutoDiffItem

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]

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 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 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<DefId, usize>

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 FxIndexMap<LocalDefId, DefinitionSiteHiddenType<'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 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 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 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 ItemLocalMap<&'tcx [TraitCandidate<'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 LayoutData<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 LocalDefIdMap<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 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 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<'tcx>, Arc<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<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<DelayedLints>

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

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]

Implementors§

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'tcx> ArenaAllocatable<'tcx> for Canonical<'tcx, QueryResponse<'tcx, PolyFnSig<'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 CodegenUnit<'tcx>

Source§

impl<'tcx> ArenaAllocatable<'tcx> for CoroutineLayout<'tcx>

Source§

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

Source§

impl<'tcx> ArenaAllocatable<'tcx> for DepKindVTable<'tcx>

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'tcx> ArenaAllocatable<'tcx> for Graph

Source§

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

Source§

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

Source§

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

Source§

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

Source§

impl<'tcx> ArenaAllocatable<'tcx> for ProjectedMaybeOwner<'tcx>

Source§

impl<'tcx> ArenaAllocatable<'tcx> for ProjectedOwnerInfo<'tcx>

Source§

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

Source§

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

Source§

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

Source§

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