]> git.lizzy.rs Git - rust.git/blob - src/test/ui/async-await/issues/issue-67893.stderr
Rollup merge of #71627 - ldm0:autoderefarg, r=Dylan-DPC
[rust.git] / src / test / ui / async-await / issues / issue-67893.stderr
1 error[E0277]: `std::sync::MutexGuard<'_, ()>` cannot be sent between threads safely
2   --> $DIR/issue-67893.rs:9:5
3    |
4 LL | fn g(_: impl Send) {}
5    |              ---- required by this bound in `g`
6 ...
7 LL |     g(issue_67893::run())
8    |     ^ `std::sync::MutexGuard<'_, ()>` cannot be sent between threads safely
9    | 
10   ::: $DIR/auxiliary/issue_67893.rs:7:20
11    |
12 LL | pub async fn run() {
13    |                    - within this `impl std::future::Future`
14    |
15    = help: within `impl std::future::Future`, the trait `std::marker::Send` is not implemented for `std::sync::MutexGuard<'_, ()>`
16    = note: required because it appears within the type `for<'r, 's, 't0, 't1, 't2, 't3> {std::future::ResumeTy, std::sync::Arc<std::sync::Mutex<()>>, &'r std::sync::Mutex<()>, std::result::Result<std::sync::MutexGuard<'s, ()>, std::sync::PoisonError<std::sync::MutexGuard<'t0, ()>>>, &'t1 std::sync::MutexGuard<'t2, ()>, std::sync::MutexGuard<'t3, ()>, (), impl std::future::Future}`
17    = note: required because it appears within the type `[static generator@issue_67893::run::{{closure}}#0 for<'r, 's, 't0, 't1, 't2, 't3> {std::future::ResumeTy, std::sync::Arc<std::sync::Mutex<()>>, &'r std::sync::Mutex<()>, std::result::Result<std::sync::MutexGuard<'s, ()>, std::sync::PoisonError<std::sync::MutexGuard<'t0, ()>>>, &'t1 std::sync::MutexGuard<'t2, ()>, std::sync::MutexGuard<'t3, ()>, (), impl std::future::Future}]`
18    = note: required because it appears within the type `std::future::from_generator::GenFuture<[static generator@issue_67893::run::{{closure}}#0 for<'r, 's, 't0, 't1, 't2, 't3> {std::future::ResumeTy, std::sync::Arc<std::sync::Mutex<()>>, &'r std::sync::Mutex<()>, std::result::Result<std::sync::MutexGuard<'s, ()>, std::sync::PoisonError<std::sync::MutexGuard<'t0, ()>>>, &'t1 std::sync::MutexGuard<'t2, ()>, std::sync::MutexGuard<'t3, ()>, (), impl std::future::Future}]>`
19    = note: required because it appears within the type `impl std::future::Future`
20    = note: required because it appears within the type `impl std::future::Future`
21
22 error: aborting due to previous error
23
24 For more information about this error, try `rustc --explain E0277`.