1 2 3 4 5 6 7 8 9
pub trait Transform<'a, T> { fn transform(&'a self) -> T; } impl<'a, T: Transform<'a, U>, U> Transform<'a, Vec<U>> for [T] { fn transform(&'a self) -> Vec<U> { self.iter().map(T::transform).collect() } }