#![forbid(unsafe_code)]
use core::fmt;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum EncodeError {
InvalidInput(&'static str),
InvalidCharacter(char),
DataTooLong,
BufferTooSmall,
}
impl fmt::Display for EncodeError {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
EncodeError::InvalidInput(msg) => write!(f, "invalid input: {msg}"),
EncodeError::InvalidCharacter(ch) => write!(f, "invalid character: '{ch}'"),
EncodeError::DataTooLong => write!(f, "data too long to encode"),
EncodeError::BufferTooSmall => write!(f, "output buffer too small"),
}
}
}
#[cfg(feature = "std")]
impl std::error::Error for EncodeError {}