[][src]Struct rustc_arena::DropArena

pub struct DropArena {
    destructors: RefCell<Vec<DropType>>,
    arena: DroplessArena,

An arena which can be used to allocate any type. Allocating in this arena is unsafe since the type system doesn't know which types it contains. In order to allocate safely, you must store a PhantomData alongside this arena for each type T you allocate.


destructors: RefCell<Vec<DropType>>

A list of destructors to run when the arena drops. Ordered so destructors gets dropped before the arena since its destructor can reference memory in the arena.

arena: DroplessArena


impl DropArena[src]

pub unsafe fn alloc<T>(&self, object: T) -> &mut T[src]

pub unsafe fn alloc_from_iter<T, I: IntoIterator<Item = T>>(
    iter: I
) -> &mut [T]

Trait Implementations

impl Default for DropArena[src]

Auto Trait Implementations

impl !RefUnwindSafe for DropArena

impl !Send for DropArena

impl !Sync for DropArena

impl Unpin for DropArena

impl UnwindSafe for DropArena

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.