use displaydoc::Display;
use icu_provider::DataError;
#[cfg(feature = "std")]
impl std::error::Error for TimeZoneError {}
#[derive(Display, Debug, Copy, Clone, PartialEq)]
#[non_exhaustive]
pub enum TimeZoneError {
#[displaydoc("GmtOffset must be within ±18:00:00")]
OffsetOutOfBounds,
#[displaydoc("Failed to parse time-zone offset")]
InvalidOffset,
#[displaydoc("Data checksums to not match (mismatched data sources?)")]
MismatchedChecksums,
#[displaydoc("{0}")]
Data(DataError),
}
impl From<DataError> for TimeZoneError {
fn from(e: DataError) -> Self {
TimeZoneError::Data(e)
}
}