| Crates.io | repr-discriminant |
| lib.rs | repr-discriminant |
| version | 3.0.1 |
| created_at | 2025-07-16 14:20:37.837703+00 |
| updated_at | 2025-11-14 07:44:16.205333+00 |
| description | Trait to retrieve the discriminant of an enum variant with a repr(T) at runtime |
| homepage | |
| repository | https://github.com/PaulmannLighting/repr-discriminant |
| max_upload_size | |
| id | 1755557 |
| size | 7,584 |
Trait to retrieve an enum's discriminant.
The feature derive is recommended to automatically implement the trait for your enums.
use repr_discriminant::ReprDiscriminant;
#[repr(u8)]
#[derive(ReprDiscriminant)]
enum TestEnum {
Foo = 1,
Bar(usize, f64) = 2,
Spam { x: i32, y: i32 } = 3,
}
fn main() {
let foo = TestEnum::Foo;
let bar = TestEnum::Bar(4, 5.1);
let spam = TestEnum::Spam { x: -32, y: 1337 };
assert_eq!(foo.repr_discriminant(), 1);
assert_eq!(bar.repr_discriminant(), 2);
assert_eq!(spam.repr_discriminant(), 3);
}