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<Output = &T>>(a: &'a [T]) -> impl Iterator<Item=&'a T> {
   |              ++++++++++++++++++++++++++++

error: aborting due to previous error

For more information about this error, try `rustc --explain E0369`.
