rustc_arena

Struct ArenaChunk

source
pub(crate) struct ArenaChunk<T = u8> {
    pub(crate) storage: NonNull<[MaybeUninit<T>]>,
    pub(crate) entries: usize,
}

Fields§

§storage: NonNull<[MaybeUninit<T>]>

The raw storage for the arena chunk.

§entries: usize

The number of valid entries in the chunk.

Implementations§

source§

impl<T> ArenaChunk<T>

source

pub(crate) unsafe fn new(capacity: usize) -> ArenaChunk<T>

source

pub(crate) unsafe fn destroy(&mut self, len: usize)

Destroys this arena chunk.

§Safety

The caller must ensure that len elements of this chunk have been initialized.

source

pub(crate) fn start(&mut self) -> *mut T

source

pub(crate) fn end(&mut self) -> *mut T

Trait Implementations§

source§

impl<T> Drop for ArenaChunk<T>

source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl<T> Freeze for ArenaChunk<T>

§

impl<T> RefUnwindSafe for ArenaChunk<T>
where T: RefUnwindSafe,

§

impl<T = u8> !Send for ArenaChunk<T>

§

impl<T = u8> !Sync for ArenaChunk<T>

§

impl<T> Unpin for ArenaChunk<T>

§

impl<T> UnwindSafe for ArenaChunk<T>
where T: RefUnwindSafe,

Blanket Implementations§

source§

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

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

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

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

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

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

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

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

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

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

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

Performs the conversion.
source§

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

source§

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

The type returned in the event of a conversion error.
source§

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

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 24 bytes