use core::fmt;
#[derive(Debug)]
pub enum Error<S = ()> {
Sink(S),
InvalidGroupCode,
InvalidValue,
InvalidHex,
InvalidUtf8,
}
impl<S: fmt::Debug> fmt::Display for Error<S> {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
match self {
Error::Sink(e) => write!(f, "sink error: {e:?}"),
Error::InvalidGroupCode => f.write_str("invalid group code"),
Error::InvalidValue => f.write_str("invalid value"),
Error::InvalidHex => f.write_str("invalid hex string"),
Error::InvalidUtf8 => f.write_str("invalid utf-8"),
}
}
}
#[cfg(feature = "std")]
impl<S: fmt::Debug> std::error::Error for Error<S> {}