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;