Derive Macro FromPrimitive
#[derive(FromPrimitive)]
{
// Attributes available to this derive:
#[num_enum]
#[default]
#[catch_all]
}
Expand description
Implements From<Primitive>
for a #[repr(Primitive)] enum
.
ยงTurning a primitive into an enum with from
.
use num_enum::FromPrimitive;
#[derive(Debug, Eq, PartialEq, FromPrimitive)]
#[repr(u8)]
enum Number {
Zero,
#[num_enum(default)]
NonZero,
}
let zero = Number::from(0u8);
assert_eq!(zero, Number::Zero);
let one = Number::from(1u8);
assert_eq!(one, Number::NonZero);
let two = Number::from(2u8);
assert_eq!(two, Number::NonZero);