31 lines
578 B
Rust
31 lines
578 B
Rust
//@ run-rustfix
|
|
#![allow(unused_mut)]
|
|
#![allow(dead_code)]
|
|
|
|
#[derive(Debug)]
|
|
struct A {
|
|
a: i32,
|
|
}
|
|
|
|
impl A {
|
|
fn double(&mut self) {
|
|
self.a += self.a
|
|
}
|
|
}
|
|
|
|
fn baz() {
|
|
let mut v = [A { a: 4 }];
|
|
v.iter_mut().for_each(|a| a.double());
|
|
//~^ ERROR cannot borrow `*a` as mutable, as it is behind a `&` reference
|
|
println!("{:?}", v);
|
|
}
|
|
|
|
fn bar() {
|
|
let mut v = [A { a: 4 }];
|
|
v.iter_mut().rev().rev().for_each(|a| a.double());
|
|
//~^ ERROR cannot borrow `*a` as mutable, as it is behind a `&` reference
|
|
println!("{:?}", v);
|
|
}
|
|
|
|
fn main() {}
|