error[E0505]: cannot move out of `x` because it is borrowed --> $DIR/issue-6801.rs:19:13 | LL | let sq = || { *x * *x }; | -- -- borrow occurs due to use in closure | | | borrow of `x` occurs here LL | LL | twice(x); | ^ move out of `x` occurs here LL | invoke(sq); | -- borrow later used here error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0505`.