Derive Macro Predicates

Source
#[derive(Predicates)]
Expand description

Generates is_* predicate methods for each enum variant.

The name of a predicate method is is_ followed by the variant’s identifier in snake_case. Foo becomes is_foo and HelloWorld becomes is_hello_world.

use enum_fun::Predicates;

#[derive(Predicates)]
enum Words {
    Foo,
    Bar,
}

use Words::*;

assert!(Foo.is_foo());
assert!(!Foo.is_bar());

assert!(Bar.is_bar());
assert!(!Bar.is_foo());