1use std::fmt;
2
3#[derive(Debug)]
5pub enum Error {
6 InvalidData,
8 MoreDataNeeded,
10 ConfigurationIncomplete,
12 ConfigurationInvalid,
14 Unsupported(String),
16 }
19
20impl std::error::Error for Error {}
21
22impl fmt::Display for Error {
23 fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
24 match self {
25 Error::InvalidData => write!(f, "Invalid Data"),
26 Error::MoreDataNeeded => write!(f, "Additional data needed"),
27 Error::ConfigurationIncomplete => write!(f, "Configuration Incomplete"),
28 Error::ConfigurationInvalid => write!(f, "Configuration Invalid"),
29 Error::Unsupported(feat) => write!(f, "Unsupported feature {feat}"),
30 }
31 }
32}
33
34pub type Result<T> = ::std::result::Result<T, Error>;