pub struct Global;Expand description
The global memory allocator.
This type implements the Allocator trait by forwarding calls
to the allocator registered with the #[global_allocator] attribute
if there is one, or the std crate’s default.
Note: while this type is unstable, the functionality it provides can be
accessed through the free functions in alloc.
Trait Implementations§
Source§impl Allocator for Global
impl Allocator for Global
Source§fn allocate(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>
fn allocate(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>
Attempts to allocate a block of memory. Read more
Source§fn allocate_zeroed(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>
fn allocate_zeroed(&self, layout: Layout) -> Result<NonNull<[u8]>, AllocError>
Behaves like
allocate, but also ensures that the returned memory is zero-initialized. Read moreSource§unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout)
unsafe fn deallocate(&self, ptr: NonNull<u8>, layout: Layout)
Deallocates the memory referenced by
ptr. Read moreSource§unsafe fn grow(
&self,
ptr: NonNull<u8>,
old_layout: Layout,
new_layout: Layout,
) -> Result<NonNull<[u8]>, AllocError>
unsafe fn grow( &self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout, ) -> Result<NonNull<[u8]>, AllocError>
Attempts to extend the memory block. Read more
Source§unsafe fn grow_zeroed(
&self,
ptr: NonNull<u8>,
old_layout: Layout,
new_layout: Layout,
) -> Result<NonNull<[u8]>, AllocError>
unsafe fn grow_zeroed( &self, ptr: NonNull<u8>, old_layout: Layout, new_layout: Layout, ) -> Result<NonNull<[u8]>, AllocError>
Behaves like
grow, but also ensures that the new contents are set to zero before being
returned. Read moreimpl Copy for Global
Auto Trait Implementations§
impl Freeze for Global
impl RefUnwindSafe for Global
impl Send for Global
impl Sync for Global
impl Unpin for Global
impl UnsafeUnpin for Global
impl UnwindSafe for Global
Blanket Implementations§
Source§impl<A> Arena for A
impl<A> Arena for A
Source§fn alloc_with<T>(&self, f: impl FnOnce() -> T) -> &mut T
fn alloc_with<T>(&self, f: impl FnOnce() -> T) -> &mut T
Allocates the result of
f, evaluated directly into the arena slot.Source§fn alloc_fmt(&self, arguments: Arguments<'_>) -> &mut str
fn alloc_fmt(&self, arguments: Arguments<'_>) -> &mut str
Formats
arguments directly into the arena and returns the resulting string. Read moreSource§fn alloc_slice_copy<T>(&self, src: &[T]) -> &mut [T]where
T: Copy,
fn alloc_slice_copy<T>(&self, src: &[T]) -> &mut [T]where
T: Copy,
Copies a slice of
Copy values into the arena.Source§fn alloc_slice_clone<T>(&self, src: &[T]) -> &mut [T]where
T: Clone,
fn alloc_slice_clone<T>(&self, src: &[T]) -> &mut [T]where
T: Clone,
Clones a slice of
Clone values into the arena.Source§fn alloc_slice_fill_copy<T>(&self, len: usize, value: T) -> &mut [T]where
T: Copy,
fn alloc_slice_fill_copy<T>(&self, len: usize, value: T) -> &mut [T]where
T: Copy,
Allocates
len copies of value.Source§fn alloc_slice_fill_clone<T>(&self, len: usize, value: &T) -> &mut [T]where
T: Clone,
fn alloc_slice_fill_clone<T>(&self, len: usize, value: &T) -> &mut [T]where
T: Clone,
Allocates
len clones of value.Source§fn alloc_slice_fill_with<T>(
&self,
len: usize,
f: impl FnMut(usize) -> T,
) -> &mut [T]
fn alloc_slice_fill_with<T>( &self, len: usize, f: impl FnMut(usize) -> T, ) -> &mut [T]
Allocates
len elements, each produced by f(index).Source§fn alloc_slice_fill_default<T>(&self, len: usize) -> &mut [T]where
T: Default,
fn alloc_slice_fill_default<T>(&self, len: usize) -> &mut [T]where
T: Default,
Allocates
len default-constructed elements.Source§fn alloc_slice_fill_iter<T>(
&self,
iter: impl IntoIterator<Item = T>,
) -> &mut [T]
fn alloc_slice_fill_iter<T>( &self, iter: impl IntoIterator<Item = T>, ) -> &mut [T]
Collects
iter into the arena and returns the resulting slice.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more