use crate::pattern::PatternLoadError;
use displaydoc::Display;
use icu_calendar::AnyCalendarKind;
use icu_provider::DataError;
#[derive(Display, Debug, Copy, Clone, PartialEq)]
#[non_exhaustive]
pub enum DateTimeFormatterLoadError {
#[displaydoc("{0}")]
Names(PatternLoadError),
#[displaydoc("{0}")]
Data(DataError),
}
impl core::error::Error for DateTimeFormatterLoadError {}
impl From<DataError> for DateTimeFormatterLoadError {
fn from(error: DataError) -> Self {
Self::Data(error)
}
}
#[derive(Display, Debug, Copy, Clone, PartialEq)]
pub struct ErrorField(pub(crate) crate::provider::fields::Field);
#[derive(Display, Debug, Copy, Clone, PartialEq)]
#[displaydoc("DateTimeFormatter for {this_kind} calendar was given a {date_kind:?} calendar")]
#[non_exhaustive]
pub struct MismatchedCalendarError {
pub this_kind: AnyCalendarKind,
pub date_kind: Option<AnyCalendarKind>,
}
impl core::error::Error for MismatchedCalendarError {}