name-variant

Crates.ioname-variant
lib.rsname-variant
version0.1.0
sourcesrc
created_at2022-09-07 13:47:00.836199
updated_at2022-09-07 13:47:00.836199
descriptionGenerates a method to name enum variants.
homepage
repositoryhttps://github.com/mystenlabs/mysten-infra
max_upload_size
id660388
size5,867
François Garillot (huitseeker)

documentation

README

name_variant

Generates methods to print an enum variant's name as a string.

Example

 use name_variant::NamedVariant;

 #[derive(NamedVariant)]
 enum TestEnum {
     A,
     B(),
     C(i32, i32),
     D { _name: String, _age: i32 },
     VariantTest,
 }

 fn main() {
     let x = TestEnum::C(1, 2);
     assert_eq!(x.variant_name(), "C");

     let x = TestEnum::A;
     assert_eq!(x.variant_name(), "A");

     let x = TestEnum::B();
     assert_eq!(x.variant_name(), "B");

     let x = TestEnum::D {_name: "Jane Doe".into(), _age: 30 };
     assert_eq!(x.variant_name(), "D");

     let x = TestEnum::VariantTest;
     assert_eq!(x.variant_name(), "VariantTest");
 }
Commit count: 203

cargo fmt