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
use std::error::Error as StdError;
use std::fmt;
#[derive(Debug, PartialEq)]
pub enum Error {
EnvVarMissing { name: &'static str },
ParseError { name: &'static str },
}
impl fmt::Display for Error {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
Error::EnvVarMissing { name } => write!(f, "Environment variable {} is missing", name),
Error::ParseError { name } => {
write!(f, "Failed to parse environment variable {}", name)
}
}
}
}
impl StdError for Error {
fn source(&self) -> Option<&(dyn StdError + 'static)> {
None
}
}