// 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); }