rosu_mods/
error.rs

1use std::{
2    error::Error,
3    fmt::{Display, Formatter, Result as FmtResult},
4};
5
6/// Error while trying to parse an [`Acronym`].
7///
8/// [`Acronym`]: crate::Acronym
9#[derive(Clone, Debug)]
10pub struct AcronymParseError {
11    /// The string on which parsing failed.
12    pub acronym: Box<str>,
13}
14
15impl Error for AcronymParseError {}
16
17impl Display for AcronymParseError {
18    fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult {
19        write!(
20            f,
21            "Failed to parse string `{}` into an acronym",
22            self.acronym
23        )
24    }
25}
26
27/// Error while trying to parse [`GameModsLegacy`].
28///
29/// [`GameModsLegacy`]: crate::GameModsLegacy
30#[derive(Clone, Debug)]
31pub struct GameModsLegacyParseError {
32    /// The string on which parsing failed.
33    pub mods: Box<str>,
34}
35
36impl Error for GameModsLegacyParseError {}
37
38impl Display for GameModsLegacyParseError {
39    fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult {
40        write!(
41            f,
42            "Failed to parse string `{}` into GameModsLegacy",
43            self.mods
44        )
45    }
46}