error[E0387]: cannot borrow data mutably in a captured outer variable in an `Fn` closure --> $DIR/issue-21600.rs:24:17 | LL | call_it(|| x.gen_mut()); //~ ERROR cannot borrow data mutably in a captured outer | ^^ | help: consider changing this to accept closures that implement `FnMut` --> $DIR/issue-21600.rs:22:13 | LL | call_it(|| { | _____________^ LL | | call_it(|| x.gen()); LL | | call_it(|| x.gen_mut()); //~ ERROR cannot borrow data mutably in a captured outer LL | | //~^ ERROR cannot borrow data mutably in a captured outer LL | | }); | |_____^ error[E0387]: cannot borrow data mutably in a captured outer variable in an `Fn` closure --> $DIR/issue-21600.rs:24:20 | LL | call_it(|| x.gen_mut()); //~ ERROR cannot borrow data mutably in a captured outer | ^ | help: consider changing this closure to take self by mutable reference --> $DIR/issue-21600.rs:24:17 | LL | call_it(|| x.gen_mut()); //~ ERROR cannot borrow data mutably in a captured outer | ^^^^^^^^^^^^^^ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0387`.