fervid_core/
error.rs

1pub trait Severity {
2    fn get_severity(&self) -> SeverityLevel;
3
4    /// Returns `true` if the severity level is [`RecoverableError`].
5    ///
6    /// [`RecoverableError`]: SeverityLevel::RecoverableError
7    #[must_use]
8    fn is_recoverable_error(&self) -> bool {
9        matches!(self.get_severity(), SeverityLevel::RecoverableError)
10    }
11
12    /// Returns `true` if the severity level is [`UnrecoverableError`].
13    ///
14    /// [`UnrecoverableError`]: SeverityLevel::UnrecoverableError
15    #[must_use]
16    fn is_unrecoverable_error(&self) -> bool {
17        matches!(self.get_severity(), SeverityLevel::UnrecoverableError)
18    }
19
20    /// Returns `true` if the severity level is [`Warning`].
21    ///
22    /// [`Warning`]: SeverityLevel::Warning
23    #[must_use]
24    fn is_warning(&self) -> bool {
25        matches!(self.get_severity(), SeverityLevel::Warning)
26    }
27}
28
29#[derive(Debug, PartialEq, Eq)]
30#[allow(unused)]
31pub enum SeverityLevel {
32    UnrecoverableError,
33    RecoverableError,
34    Warning,
35}