#[derive(Debug, Clone, PartialEq, Eq)]
pub enum Error {
Parse(String),
InvalidTimezone(String),
Overflow,
InvalidUnit(String),
}
impl core::fmt::Display for Error {
fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result {
match self {
Error::Parse(msg) => write!(f, "parse error: {msg}"),
Error::InvalidTimezone(name) => write!(f, "unknown timezone: {name}"),
Error::Overflow => write!(f, "datetime arithmetic overflow"),
Error::InvalidUnit(u) => write!(f, "unknown unit: {u}"),
}
}
}
impl std::error::Error for Error {}
pub type Result<T> = std::result::Result<T, Error>;