pub trait AbstractAllocator {
type AllocationError: Debug;
type Allocation: AbstractAllocatorAllocation;
// Required methods
fn allocate(
&mut self,
layout: Layout,
) -> Result<Self::Allocation, Self::AllocationError>;
fn deallocate(&mut self, allocation: Self::Allocation);
}