Crate discriminant_rs

Crate discriminant_rs 

Source
Expand description

§Discriminant

Convert a enum (with or without field) with #[repr(...)] to corresponding type. Compatible with #![no_std].

§Example

use discriminant_rs::Discriminant;
#[derive(Discriminant)]
#[repr(i16)]
enum Test {
    One = 1,
    Two = 2,
    Four = 4,
}

fn test() {
    assert_eq!(Test::One.discriminant(), 1);
    assert_eq!(Test::Two.discriminant(), 2);
    assert_eq!(Test::Four.discriminant(), 4);
}

Traits§

Discriminant
Trait to constraint the type of macro

Derive Macros§

Discriminant
Derive macro for Discriminant<T> trait