pub trait Predicate<T> { // Required method fn eval(t: &T) -> bool; }
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".