summaryrefslogtreecommitdiffstats
path: root/vendor/time-macros/src/format_description/error.rs
blob: 9aacd7dc9ea934fbe1e77ae8de65f0241a091bb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
use std::fmt;

pub(crate) enum InvalidFormatDescription {
    UnclosedOpeningBracket { index: usize },
    InvalidComponentName { name: String, index: usize },
    InvalidModifier { value: String, index: usize },
    MissingComponentName { index: usize },
}

impl fmt::Display for InvalidFormatDescription {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        #[allow(clippy::enum_glob_use)]
        use InvalidFormatDescription::*;
        match self {
            UnclosedOpeningBracket { index } => {
                write!(f, "unclosed opening bracket at byte index {index}")
            }
            InvalidComponentName { name, index } => {
                write!(f, "invalid component name `{name}` at byte index {index}",)
            }
            InvalidModifier { value, index } => {
                write!(f, "invalid modifier `{value}` at byte index {index}")
            }
            MissingComponentName { index } => {
                write!(f, "missing component name at byte index {index}")
            }
        }
    }
}