error: future cannot be sent between threads safely --> $DIR/issue-67893.rs:9:7 | LL | g(issue_67893::run()) | ^^^^^^^^^^^^^^^^^^ future is not `Send` | = help: within `impl Future`, the trait `Send` is not implemented for `MutexGuard<'_, ()>` = note: consider using `std::sync::Arc>`; for more information visit note: future is not `Send` as this value is used across an await --> $DIR/auxiliary/issue_67893.rs:12:27 | LL | f(*x.lock().unwrap()).await; | ----------------- ^^^^^- `x.lock().unwrap()` is later dropped here | | | | | await occurs here, with `x.lock().unwrap()` maybe used later | has type `MutexGuard<'_, ()>` which is not `Send` note: required by a bound in `g` --> $DIR/issue-67893.rs:6:14 | LL | fn g(_: impl Send) {} | ^^^^ required by this bound in `g` error: aborting due to previous error