use core::fmt;
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
#[non_exhaustive]
pub enum Error {
InvalidSize,
Overflow,
BufferMismatch,
InvalidData,
UnsupportedFormat,
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
let message = match self {
Error::InvalidSize => "invalid size or dimension",
Error::Overflow => "arithmetic overflow",
Error::BufferMismatch => "buffer length does not match declared dimensions",
Error::InvalidData => "malformed or invalid input data",
Error::UnsupportedFormat => "recognized but unsupported input format",
};
f.write_str(message)
}
}
#[cfg(feature = "std")]
impl std::error::Error for Error {}