use thiserror::Error;
#[derive(Error, Debug, PartialEq)]
pub enum Error {
#[error("missing key: `{0}`")]
MissingKey(&'static str),
#[error("could not parse a boolean value")]
ParseBoolError(#[from] std::str::ParseBoolError),
#[error("could not parse an integer")]
ParseIntError(#[from] std::num::ParseIntError),
#[error("could not parse a floating-point number")]
ParseFloatError(#[from] std::num::ParseFloatError),
#[error("could not parse a network address")]
AddrParseError(#[from] std::net::AddrParseError),
#[error("infallible")]
Infallible(#[from] std::convert::Infallible),
}