use std::fmt;
#[derive(Debug)]
pub enum ArenaError {
AllocationFailed(String),
VirtualMemoryError(String),
InvalidLayout(String),
Other(String),
}
impl fmt::Display for ArenaError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
ArenaError::AllocationFailed(s) => write!(f, "Allocation failed: {}", s),
ArenaError::VirtualMemoryError(s) => write!(f, "Virtual memory error: {}", s),
ArenaError::InvalidLayout(s) => write!(f, "Invalid layout: {}", s),
ArenaError::Other(s) => write!(f, "{}", s),
}
}
}
impl std::error::Error for ArenaError {}