summaryrefslogtreecommitdiffstats
path: root/tests/ui/issues/issue-21600.rs
blob: 2e22e5e6fa2e04da8feca5e4132a65f9b74bdc84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
fn call_it<F>(f: F) where F: Fn() { f(); }

struct A;

impl A {
    fn gen(&self) {}
    fn gen_mut(&mut self) {}
}

fn main() {
    let mut x = A;
    call_it(|| {
        call_it(|| x.gen());
        call_it(|| x.gen_mut());
        //~^ ERROR cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure
        //~| ERROR cannot borrow `x` as mutable, as it is a captured variable in a `Fn` closure
    });
}