#[fields]Expand description
Insert fields for each variant, and generate getter for each fields
ยงExample
#[enum_struct::fields {
id: u64,
}]
#[derive(Debug, PartialEq)]
enum Foo {
Named(String),
Complex { name: String, age: u32, level: u16 },
Empty,
}
let named = Foo::Named(2, "jack".into());
let complex = Foo::Complex { id: 3, name: "john".into(), age: 22, level: 4 };
let empty = Foo::Empty { id: 4 };
assert_eq!(named.id(), &2);
assert_eq!(complex.id(), &3);
assert_eq!(empty.id(), &4);
let mut named = named;
*named.id_mut() = 8;
assert_eq!(named.id(), &8);
assert_eq!(named, Foo::Named(8, "jack".into()));