$ cargo run Compiling shared-state v0.1.0 (file:///projects/shared-state) error[E0382]: borrow of moved value: `counter` --> src/main.rs:21:29 | 5 | let counter = Mutex::new(0); | ------- move occurs because `counter` has type `Mutex`, which does not implement the `Copy` trait ... 9 | let handle = thread::spawn(move || { | ------- value moved into closure here, in previous iteration of loop ... 21 | println!("Result: {}", *counter.lock().unwrap()); | ^^^^^^^ value borrowed here after move For more information about this error, try `rustc --explain E0382`. error: could not compile `shared-state` (bin "shared-state") due to 1 previous error