error[E0277]: `&Enumerate<std::slice::Iter<'_, {integer}>>` is not an iterator
  --> $DIR/suggest-remove-refs-1.rs:6:19
   |
LL |     for (i, _) in &v.iter().enumerate() {
   |                   ^^^^^^^^^^^^^^^^^^^^^ `&Enumerate<std::slice::Iter<'_, {integer}>>` is not an iterator
   |
   = help: the trait `Iterator` is not implemented for `&Enumerate<std::slice::Iter<'_, {integer}>>`, which is required by `&Enumerate<std::slice::Iter<'_, {integer}>>: IntoIterator`
   = note: required for `&Enumerate<std::slice::Iter<'_, {integer}>>` to implement `IntoIterator`
help: consider removing the leading `&`-reference
   |
LL -     for (i, _) in &v.iter().enumerate() {
LL +     for (i, _) in v.iter().enumerate() {
   |

error: aborting due to 1 previous error

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