summaryrefslogtreecommitdiffstats
path: root/tests/ui/closures/2229_closure_analysis/diagnostics/borrowck/borrowck-2.rs
blob: ae416bab65ea5128728987d5e0a56ce48bb9da52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// 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);
}