Derive Macro EnumConst

Source
#[derive(EnumConst)]
Expand description

example:

#[derive(EnumConst)]
enum Foo {
    X = 1,
    Y = 2,
    Z,
}
// expanded impl code:
#[automatically_derived]
#[allow(unused_qualifications)]
impl ::enum_const::EnumConst for Foo {
    fn get_const_isize(&self) -> Option<isize> {
        match self {
            Self::X => Some(1),
            Self::Y => Some(2),
            _ => None,
        }
    }
    fn from_const_isize(i: isize) -> Option<Self> {
        match i {
            1 => Some(Self::X),
            2 => Some(Self::Y),
            _ => None,
        }
    }
}

command to check expanded code: cargo +nightly rustc -- -Zunstable-options --pretty=expanded