error[E0382]: use of moved value: `x` --> $DIR/issue-24357.rs:16:8 | LL | let f = move || { let y = x; }; | ------- value moved (into closure) here LL | //~^ NOTE value moved (into closure) here LL | let z = x; | ^ value used here after move | = note: move occurs because `x` has type `NoCopy`, which does not implement the `Copy` trait error: aborting due to previous error For more information about this error, try `rustc --explain E0382`.