# Trait rustc_hir::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 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 MacroDef

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 OwnerInfo<'tcx>

source§

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

source§

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

source§

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