icu_data/ucm/
errors.rs

1/// Error type. You should only ever expect to see `UnknownMappingRequested` unless you're doing
2/// development on the library.
3#[derive(Copy, Clone, Debug, PartialEq, Eq)]
4pub enum IcuDataError {
5    UnknownMappingRequested,
6    BrotliDecompressionFailure,
7    TarArchiveEntriesReadError,
8    TarArchiveEntryParseError,
9    TarArchivePathParseError,
10    MappingFileNotUtf8,
11}
12
13use std::fmt;
14
15/// Our version of this just translates the error into a message describing what it does.
16impl fmt::Display for IcuDataError {
17    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> Result<(), fmt::Error> {
18        use IcuDataError::*;
19        match self {
20            UnknownMappingRequested => write!(f, "Unknown mapping requested. Not in Unicode ICU database?"),
21            BrotliDecompressionFailure => write!(f, "Failed to Brotli decompress bytes for mapping. This is a bug, report it."),
22            TarArchiveEntriesReadError | TarArchiveEntryParseError | TarArchivePathParseError => write!(f, "Tar archive parse error. This is a bug, please report it."),
23            MappingFileNotUtf8 => write!(f, "Mapping file not UTF-8! This is a bug, report it.")
24        }
25    }
26}
27
28use std::error::Error;
29impl Error for IcuDataError {}