fn func<'a, T>(a: &'a [T]) -> impl Iterator { a.iter().map(|a| a*a) //~^ ERROR cannot multiply `&T` by `&T` } fn main() { let a = (0..30).collect::>(); for k in func(&a) { println!("{}", k); } }