use core::fmt;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum AllocError {
InvalidParam,
AlreadyInitialized,
MemoryOverlap,
NoMemory,
NotAllocated,
NotInitialized,
NotFound,
}
impl fmt::Display for AllocError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Self::InvalidParam => write!(f, "invalid parameter"),
Self::AlreadyInitialized => write!(f, "allocator already initialized"),
Self::MemoryOverlap => write!(f, "memory regions overlap"),
Self::NoMemory => write!(f, "out of memory"),
Self::NotAllocated => write!(f, "memory not allocated"),
Self::NotInitialized => write!(f, "allocator not initialized"),
Self::NotFound => write!(f, "not found"),
}
}
}
pub type AllocResult<T = ()> = Result<T, AllocError>;