#[derive(IntEnum)]
Expand description
Derive macro for conversion between integer and enum.
ยงExample
use int_enum::IntEnum;
#[repr(u8)]
#[derive(Debug, PartialEq, IntEnum)]
pub enum Ascii {
UpperA = b'A',
UpperB = b'B',
UpperC, // Variants without discriminators increment by 1.
}
assert_eq!(u8::from(Ascii::UpperA), b'A');
assert_eq!(u8::from(Ascii::UpperB), b'B');
assert_eq!(u8::from(Ascii::UpperC), b'C');
assert_eq!(Ascii::try_from(b'A'), Ok(Ascii::UpperA));
assert_eq!(Ascii::try_from(b'B'), Ok(Ascii::UpperB));
assert_eq!(Ascii::try_from(b'C'), Ok(Ascii::UpperC));
assert_eq!(Ascii::try_from(b'D'), Err(b'D'));