Struct Stash

pub struct Stash { pub(in ::backtrace_rs::symbolize::gimli::stash) buffers: UnsafeCell<Vec<Vec<u8>>>, pub(in ::backtrace_rs::symbolize::gimli::stash) mmaps: UnsafeCell<Vec<Mmap>> }

A simple arena allocator for byte buffers.

Fields

buffers: UnsafeCell<Vec<Vec<u8>>>
mmaps: UnsafeCell<Vec<Mmap>>

Implementations

impl Stash

fn new() -> Stash
fn allocate(&self, size: usize) -> &mut [u8]

Allocates a buffer of the specified size and returns a mutable reference to it.

fn cache_mmap(&self, map: Mmap) -> &[u8]

Stores a Mmap for the lifetime of this Stash, returning a pointer which is scoped to just this lifetime.

Auto Trait Implementations

impl !Freeze for Stash

impl !RefUnwindSafe for Stash

impl !Send for Stash

impl !Sync for Stash

impl Unpin for Stash

impl UnsafeUnpin for Stash

impl UnwindSafe for Stash

Blanket Implementations

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

fn type_id(&self) -> TypeId

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

fn borrow(&self) -> &T

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

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

impl<T> From<T> for Stash

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> SizeHint for Stash where T: ?Sized,

fn lower_bound(&self) -> usize
fn upper_bound(&self) -> Option<usize>

impl<T> SizedTypeProperties for Stash

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

fn into(self) -> U

Calls U::from(self).

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

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

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

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

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