error[E0507]: cannot move out of a shared reference
  --> $DIR/for.rs:6:23
   |
LL |     for (n, mut m) in &tups {
   |             -----     ^^^^^
   |             |
   |             data moved here
   |             move occurs because `m` has type `Foo`, which does not implement the `Copy` trait
   |
help: consider borrowing the pattern binding
   |
LL |     for (n, ref mut m) in &tups {
   |             +++

error: aborting due to previous error

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