#enums #bitflags #derive #proc-macro #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

#935 in Rust patterns

Download history 159/week @ 2024-12-08 131/week @ 2024-12-15 132/week @ 2024-12-22 12/week @ 2024-12-29 5/week @ 2025-01-05 4/week @ 2025-01-12 130/week @ 2025-01-19 89/week @ 2025-01-26 27/week @ 2025-02-02

251 downloads per month

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

~220–750KB
~18K SLoC