use facet::{Facet, Shape};
use facet_error as error;
use facet_toml::{DeserializeError, TomlError};
#[repr(u8)]
#[derive(Facet, Debug)]
#[facet(derive(Error))]
pub enum HierConfError {
#[facet(error::from)]
Io(#[facet(opaque)] std::io::Error),
#[facet(error::from)]
Toml(#[facet(opaque)] DeserializeError<TomlError>),
MissingAttribute(String),
AttributeShapeMismatch {
#[facet(opaque)]
shape: &'static Shape,
key: &'static str,
},
NoConfigFiles {
locations: Vec<camino::Utf8PathBuf>,
},
}