#[derive(Toggle)]Expand description
Adds a toggled() method that maps each enum variant to the next unit variant.
ยงExample
#[derive(Toggle)]
enum MyEnum {
Foo,
Bar,
Baz(String),
}adds
impl MyEnum {
pub fn toggle(&self) -> Self {
match self {
Self::Foo => Self::Bar,
Self::Bar => Self::Foo,
Self::Baz(_string) => Self::Foo,
}
}
pub fn toggle(&mut self) -> &mut Self {
*self = self.toggled();
self
}
}