macro_rules! value_enum {
(
$(#[$attr:meta])*
$vis:vis enum $name:ident: $type:ty {
$($variant:ident = $value:expr),*
$(,)?
}
) => { ... };
}
Expand description
Macro for generating enums associated with values.
ยงExample
use value_enum::value_enum;
value_enum!(
#[derive(Clone, Copy, PartialEq, Eq, Debug)]
enum Abc: char {
A = 'a',
B = 'b',
C = 'c',
}
);
assert_eq!(char::from(Abc::A), 'a');
assert_eq!(Abc::try_from('b'), Ok(Abc::B));