use displaydoc::Display;
use icu_properties::PropertiesError;
use icu_provider::prelude::DataError;
#[derive(Display, Debug)]
#[non_exhaustive]
pub enum CollatorError {
NotFound,
MalformedData,
#[displaydoc("{0}")]
Data(DataError),
}
#[cfg(feature = "std")]
impl std::error::Error for CollatorError {}
impl From<DataError> for CollatorError {
fn from(e: DataError) -> Self {
CollatorError::Data(e)
}
}
impl From<PropertiesError> for CollatorError {
fn from(e: PropertiesError) -> Self {
match e {
PropertiesError::PropDataLoad(d) => CollatorError::Data(d),
_ => unreachable!("Shouldn't have non-Data PropertiesError"),
}
}
}