pub type Result<T> = core::result::Result<T, Error>;
#[repr(C)]
#[derive(Clone, Copy, Debug, Eq, PartialEq)]
pub enum Error {
InvalidFieldVariant { field: &'static str, value: usize },
}
impl Error {
pub const fn invalid_field_variant(field: &'static str, value: usize) -> Self {
Self::InvalidFieldVariant { field, value }
}
}
impl core::fmt::Display for Error {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
Self::InvalidFieldVariant { field, value } => {
write!(f, "invalid {field} value: {value}")
}
}
}
}
impl core::error::Error for Error {}