Enumly

Derive Macro Enumly 

Source
#[derive(Enumly)]
Expand description

Derive macro that exposes compile-time constants for the full set of enum variants.


§Examples

use enumly::Enumly;

#[derive(Enumly, Debug, PartialEq)]
enum Color {
    Red,
    Green,
    Blue,
}

assert_eq!(Color::COUNT, 3);
assert_eq!(Color::VARIANTS, &[Color::Red, Color::Green, Color::Blue]);

Fails to compile when any variant is not unit:

use enumly::Enumly;

#[derive(Enumly)]
enum Bad {
    Tuple(u8),
    Struct { value: u8 },
}