1pub trait Severity {
2 fn get_severity(&self) -> SeverityLevel;
3
4 #[must_use]
8 fn is_recoverable_error(&self) -> bool {
9 matches!(self.get_severity(), SeverityLevel::RecoverableError)
10 }
11
12 #[must_use]
16 fn is_unrecoverable_error(&self) -> bool {
17 matches!(self.get_severity(), SeverityLevel::UnrecoverableError)
18 }
19
20 #[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}