enumly 1.1.1

Provides a procedural macro that exposes a compile-time static list of all variants of an enum.
Documentation
  • Coverage
  • 100%
    1 out of 1 items documented0 out of 0 items with examples
  • Size
  • Source code size: 5.73 kB This is the summed size of all the files inside the crates.io package for this release.
  • Documentation size: 488.27 kB This is the summed size of all files generated by rustdoc for all configured targets
  • Links
  • crates.io
  • Dependencies
  • Versions
  • Owners
  • im-jababa

enumly

Github Crates.io Docs.rs Build

Provides a procedural macro that exposes a compile-time static list of all variants of an enum.

Usage

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]);

What does not work

Non-unit variants are rejected at compile time:

use enumly::Enumly;

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