error[E0382]: use of moved value: `range.start` --> $DIR/issue-51512.rs:17:13 | LL | let r = range; | ----- value moved here LL | let x = range.start; | ^^^^^^^^^^^ value used here after move | = note: move occurs because `range` has type `std::ops::Range`, which does not implement the `Copy` trait error: aborting due to previous error For more information about this error, try `rustc --explain E0382`.