error[E0369]: cannot multiply `&T` by `&T` --> $DIR/issue-35668.rs:2:23 | LL | a.iter().map(|a| a*a) | -^- &T | | | &T | help: consider restricting type parameter `T` | LL | fn func<'a, T: std::ops::Mul>(a: &'a [T]) -> impl Iterator { | ++++++++++++++++++++++++++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0369`.