Trait predicates::prelude::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.