1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
pub struct Helper;
pub struct Predicate;
pub trait Kind {
type Returns;
}
impl Kind for Helper {
type Returns = String;
}
impl Kind for Predicate {
type Returns = bool;
}
pub type HelperFn<T, K> = fn(&T) -> <K as Kind>::Returns;