#[derive(SetVariant)]Expand description
Adds set_*() methods for each unit variant on the given enum.
ยงExample
#[derive(Debug, mkutils_macros::SetVariant, PartialEq)]
enum MyEnum {
Foo,
Bar,
Baz(String),
}
// adds
// impl MyEnum {
// pub fn set_foo(&mut self) -> &mut Self {
// *self = Self::Foo;
//
// self
// }
//
// pub fn set_bar(&mut self) -> &mut Self {
// *self = Self::Bar;
//
// self
// }
// }
// as can be seen in
let mut my_enum = MyEnum::Foo;
my_enum.set_bar();
std::assert_eq!(my_enum, MyEnum::Bar);