error[E0369]: cannot multiply `&T` by `&T` --> $DIR/issue-35668.rs:2:23 | LL | a.iter().map(|a| a*a) | -^- &T | | | &T | help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement | LL | fn func<'a, T>(a: &'a [T]) -> impl Iterator where &T: Mul<&T> { | +++++++++++++++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0369`.