#proc-macro #bitflags #derive #enums #unit-variant

macro enum-unit

Generates unit-variant enums from existing enums

7 releases

0.1.6 Jan 25, 2025
0.1.5 Jan 25, 2025
0.1.4 Dec 27, 2024

#1075 in Rust patterns

MIT license

10KB
174 lines

enum-unit

Crate

Description

Generates unit-variant enums from existing enums.

Example

use enum_unit::*;

#[derive(EnumUnit)]
enum Example {
    A(i16),
    B { id: u8 },
}

fn main() {
    let a = Example::A(-420);
    assert_eq!(ExampleUnit::A, a.into());

    let b = Example::B { id: 69 };
    assert_eq!(ExampleUnit::B, b.into());
}

Optional Features

Name Description
bitflags Units have bitflag functionality.
serde Units implement Serialize and Deserialize.

Dependencies

~205–730KB
~17K SLoC