//@ edition:2021 | |
#[derive(Debug)] | |
struct Point { | |
x: i32, | |
y: i32, | |
} | |
fn main() { | |
let mut p = Point {x: 1, y: 2 }; | |
let y = &p.y; | |
let mut c = || { | |
//~^ ERROR cannot borrow `p` as mutable because it is also borrowed as immutable | |
println!("{:?}", p); | |
let x = &mut p.x; | |
}; | |
c(); | |
println!("{}", y); | |
} |