Struct rustc_arena::DropArena[−][src]

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

An arena which can be used to allocate any type.

Safety

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<T> alongside this arena for each type T you allocate.

Fields

destructors: RefCell<Vec<DropType>>
Expand description

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

Implementations

impl DropArena[src]

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

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

Trait Implementations

impl Default for DropArena[src]

fn default() -> DropArena[src]

Returns the “default value” for a type. Read more

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, 
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Borrow<T> for T where
    T: ?Sized, 
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized, 
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

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

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.