error[E0382]: use of moved value: `orig` --> $DIR/issue-64559.rs:4:20 | LL | let orig = vec![true]; | ---- move occurs because `orig` has type `std::vec::Vec`, which does not implement the `Copy` trait LL | for _val in orig {} | ---- | | | `orig` moved due to this implicit call to `.into_iter()` | help: consider borrowing to avoid moving into the for loop: `&orig` LL | let _closure = || orig; | ^^ ---- use occurs due to use in closure | | | value used here after move | note: this function consumes the receiver `self` by taking ownership of it, which moves `orig` --> $SRC_DIR/core/src/iter/traits/collect.rs:LL:COL | LL | fn into_iter(self) -> Self::IntoIter; | ^^^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0382`.