pub unsafe trait Allocator {
// Required methods
fn allocate(&self, layout: Layout) -> Option<NonNull<u8>>;
unsafe fn deallocate(&self, pointer: *mut u8, layout: Layout);
unsafe fn reallocate(
&self,
pointer: *mut u8,
oldSize: usize,
layout: Layout,
) -> Option<NonNull<u8>>;
// Provided methods
unsafe fn allocate_aligned(&self, layout: Layout) -> Option<NonNull<u8>> { ... }
unsafe fn deallocate_aligned(&self, pointer: *mut u8, layout: Layout) { ... }
}Required Methods§
fn allocate(&self, layout: Layout) -> Option<NonNull<u8>>
unsafe fn deallocate(&self, pointer: *mut u8, layout: Layout)
unsafe fn reallocate( &self, pointer: *mut u8, oldSize: usize, layout: Layout, ) -> Option<NonNull<u8>>
Provided Methods§
unsafe fn allocate_aligned(&self, layout: Layout) -> Option<NonNull<u8>>
unsafe fn deallocate_aligned(&self, pointer: *mut u8, layout: Layout)
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".