error[E0507]: cannot move out of `val`, a captured variable in an `FnMut` closure --> $DIR/issue-87456-point-to-closure.rs:10:28 | LL | let val = String::new(); | --- captured outer variable LL | LL | take_mut(|| { | -- captured by this `FnMut` closure LL | LL | let _foo: String = val; | ^^^ | | | move occurs because `val` has type `String`, which does not implement the `Copy` trait | help: consider borrowing here: `&val` error: aborting due to previous error For more information about this error, try `rustc --explain E0507`.