diff options
| author | Dylan DPC <99973273+Dylan-DPC@users.noreply.github.com> | 2022-04-19 14:43:15 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-19 14:43:15 +0200 |
| commit | ab59516dfd23feee736693c93f5abbb35f60107e (patch) | |
| tree | b7c7769998085b9d9747c5fa5d00d276edb78b26 /src/test | |
| parent | e2661bac6d8ae6b9e2a26cd08e9c087ab59e1357 (diff) | |
| parent | ebe3c56c6eeca6db4a62ebb99e2ffe35f33ea4de (diff) | |
| download | rust-ab59516dfd23feee736693c93f5abbb35f60107e.tar.gz rust-ab59516dfd23feee736693c93f5abbb35f60107e.zip | |
Rollup merge of #94493 - oribenshir:feature/ISSUE-78543_async_fn_in_foreign_crate_diag_2, r=davidtwco
Improved diagnostic on failure to meet send bound on future in a foreign crate Provide a better diagnostic on failure to meet send bound on futures in a foreign crate. fixes #78543
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/async-await/issues/issue-67893.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/async-await/issues/issue-67893.stderr | 16 |
2 files changed, 15 insertions, 3 deletions
diff --git a/src/test/ui/async-await/issues/issue-67893.rs b/src/test/ui/async-await/issues/issue-67893.rs index 8b53408d758..d73772e5fa0 100644 --- a/src/test/ui/async-await/issues/issue-67893.rs +++ b/src/test/ui/async-await/issues/issue-67893.rs @@ -7,5 +7,5 @@ fn g(_: impl Send) {} fn main() { g(issue_67893::run()) - //~^ ERROR generator cannot be sent between threads safely + //~^ ERROR future cannot be sent between threads safely } diff --git a/src/test/ui/async-await/issues/issue-67893.stderr b/src/test/ui/async-await/issues/issue-67893.stderr index 0aa0d5d7ccd..316b6d06f93 100644 --- a/src/test/ui/async-await/issues/issue-67893.stderr +++ b/src/test/ui/async-await/issues/issue-67893.stderr @@ -1,10 +1,22 @@ -error: generator cannot be sent between threads safely +error: future cannot be sent between threads safely --> $DIR/issue-67893.rs:9:7 | LL | g(issue_67893::run()) - | ^^^^^^^^^^^^^^^^^^ generator is not `Send` + | ^^^^^^^^^^^^^^^^^^ future is not `Send` | = help: within `impl Future<Output = ()>`, the trait `Send` is not implemented for `MutexGuard<'_, ()>` +note: future is not `Send` as this value is used across an await + --> $DIR/auxiliary/issue_67893.rs:9:26 + | +LL | f(*x.lock().unwrap()).await; + | ----------------- ^^^^^^ await occurs here, with `x.lock().unwrap()` maybe used later + | | + | has type `MutexGuard<'_, ()>` which is not `Send` +note: `x.lock().unwrap()` is later dropped here + --> $DIR/auxiliary/issue_67893.rs:9:32 + | +LL | f(*x.lock().unwrap()).await; + | ^ note: required by a bound in `g` --> $DIR/issue-67893.rs:6:14 | |
