error[E0505]: cannot move out of `y` because it is borrowed --> $DIR/send-is-not-static-std-sync.rs:23:10 | LL | *lock.lock().unwrap() = &*y; | --- borrow of `*y` occurs here LL | drop(y); //~ ERROR cannot move out | ^ move out of `y` occurs here ... LL | *lock.lock().unwrap() = &z; | ---- borrow later used here error[E0505]: cannot move out of `y` because it is borrowed --> $DIR/send-is-not-static-std-sync.rs:36:10 | LL | *lock.write().unwrap() = &*y; | --- borrow of `*y` occurs here LL | drop(y); //~ ERROR cannot move out | ^ move out of `y` occurs here ... LL | *lock.write().unwrap() = &z; | ---- borrow later used here error[E0505]: cannot move out of `y` because it is borrowed --> $DIR/send-is-not-static-std-sync.rs:51:10 | LL | tx.send(&*y); | --- borrow of `*y` occurs here LL | drop(y); //~ ERROR cannot move out | ^ move out of `y` occurs here ... LL | tx.send(&z).unwrap(); | -- borrow later used here error[E0597]: `z` does not live long enough --> $DIR/send-is-not-static-std-sync.rs:54:17 | LL | tx.send(&z).unwrap(); | ^^ borrowed value does not live long enough LL | } | - borrowed value only lives until here LL | //~^^ ERROR `z` does not live long enough LL | } | - borrow later used here, when `tx` is dropped error: aborting due to 4 previous errors Some errors occurred: E0505, E0597. For more information about an error, try `rustc --explain E0505`.