use derive_enum_macros as macros;
#[cfg(feature = "name")] pub use macros::Name;
#[cfg(feature = "name")]
pub trait Name {
fn name(&self) -> &'static str;
}
#[cfg(feature = "from_str")] pub use macros::FromStr;
#[cfg(feature = "iter")] pub use macros::Iter;
#[cfg(feature = "iter")]
pub trait Iter {
fn all() -> Box<dyn Iterator<Item = (&'static str, &'static dyn Fn() -> Self)>>;
}
#[derive(Debug)]
pub enum Error {
NoSuchEnum,
}
impl std::fmt::Display for Error {
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
match self {
Error::NoSuchEnum => write!(f, "No such enum"),
}
}
}
impl std::error::Error for Error {}