error[E0382]: use of moved value: `c` --> $DIR/closure-origin-single-variant-diagnostics.rs:17:13 | LL | let b = c; | - value moved here LL | let a = c; | ^ value used here after move | note: closure cannot be moved more than once as it is not `Copy` due to moving the variable `point.0` out of its environment --> $DIR/closure-origin-single-variant-diagnostics.rs:12:50 | LL | let SingleVariant::Point(ref mut x, _) = point; | ^^^^^ help: consider mutably borrowing `c` | LL | let b = &mut c; | ++++ error: aborting due to previous error For more information about this error, try `rustc --explain E0382`.