Trait predicates::Predicate

source ·
pub trait Predicate<Item>: PredicateReflectionwhere
    Item: ?Sized,
{ fn eval(&self, variable: &Item) -> bool; fn find_case<'a>(
        &'a self,
        expected: bool,
        variable: &Item
    ) -> Option<Case<'a>> { ... } }
Expand description

Trait for generically evaluating a type against a dynamically created predicate function.

The exact meaning of eval depends on the situation, but will usually mean that the evaluated item is in some sort of pre-defined set. This is different from Ord and Eq in that an item will almost never be the same type as the implementing Predicate type.

Required Methods§

Execute this Predicate against variable, returning the resulting boolean.

Provided Methods§

Find a case that proves this predicate as expected when run against variable.

Implementors§