[−][src]Macro tari_test_utils::unpack_enum
Unpack the tuple or struct from an enum variant. Each extracted variable is decalred as mutable for maximum flexibility.
ⓘ
#[derive(Debug)] enum AnyEnum<'a> { Tuple(u8, &'a str), Struct { name: &'a str, age: u8 }, SingleVariant, } let e = AnyEnum::Tuple(123, "Hubert etc."); unpack_enum!(AnyEnum::Tuple(age, name) = e); assert_eq!(age, 123); assert_eq!(name, "Hubert etc."); let e = AnyEnum::Struct{age: 123, name: "Hubert etc."}; unpack_enum!(AnyEnum::Struct{ age, name } = e); assert_eq!(age, 123); assert_eq!(name, "Hubert etc."); let e = AnyEnum::SingleVariant; unpack_enum!(AnyEnum::SingleVariant = e); // Will panic // let e = AnyEnum::Tuple(123, "Hubert etc."); // unpack_enum!(AnyEnum::SingleVariant = e);