Derive Macro integral_enum::StrictIntegralEnum
source · #[derive(StrictIntegralEnum)]
{
// Attributes available to this derive:
#[enum_impl]
}
Expand description
Strict version of the IntegralEnum. It implements only
specified implementations, for example this compiles and
successfully exits:
use integral_enum::StrictIntegralEnum;
#[derive(StrictIntegralEnum)]
#[enum_impl(display, partial_eq, try_from)]
enum MusicGenre {
SynthWave,
HeavyMetal,
}
assert!(MusicGenre::try_from(0) == Ok(MusicGenre::SynthWave));
assert!(format!("{}", MusicGenre::SynthWave) == "SynthWave");And this will fail:
ⓘ
use integral_enum::StrictIntegralEnum;
#[derive(StrictIntegralEnum)]
#[enum_impl(try_from)]
enum MusicGenre {
SynthWave,
HeavyMetal,
}
assert!(MusicGenre::try_from(0) == Ok(MusicGenre::SynthWave));
assert!(format!("{}", MusicGenre::SynthWave) == "SynthWave");