| $ cargo run |
| Compiling threads v0.1.0 (file:///projects/threads) |
| error[E0382]: use of moved value: `v` |
| --> src/main.rs:10:10 |
| | |
| 4 | let v = vec![1, 2, 3]; |
| | - move occurs because `v` has type `std::vec::Vec<i32>`, which does not implement the `Copy` trait |
| 5 | |
| 6 | let handle = thread::spawn(move || { |
| | ------- value moved into closure here |
| 7 | println!("Here's a vector: {:?}", v); |
| | - variable moved due to use in closure |
| ... |
| 10 | drop(v); // oh no! |
| | ^ value used here after move |
| |
| error: aborting due to previous error |
| |
| For more information about this error, try `rustc --explain E0382`. |
| error: could not compile `threads`. |
| |
| To learn more, run the command again with --verbose. |