pub trait Predicate<Item: ?Sized>: PredicateReflection {
// Required method
fn eval(&self, variable: &Item) -> bool;
// Provided method
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§
Provided Methods§
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".