Macro value_enum

Source
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));