31 lines
570 B
Rust
31 lines
570 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().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() {}
|