//@ 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().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().rev().rev().for_each(|a| a.double()); | |
//~^ ERROR cannot borrow `*a` as mutable, as it is behind a `&` reference | |
println!("{:?}", v); | |
} | |
fn main() {} |