summaryrefslogtreecommitdiffstats
path: root/src/test/ui/async-await/issue-64130-non-send-future-diags.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/async-await/issue-64130-non-send-future-diags.stderr')
-rw-r--r--src/test/ui/async-await/issue-64130-non-send-future-diags.stderr24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/async-await/issue-64130-non-send-future-diags.stderr b/src/test/ui/async-await/issue-64130-non-send-future-diags.stderr
new file mode 100644
index 000000000..1da80d98b
--- /dev/null
+++ b/src/test/ui/async-await/issue-64130-non-send-future-diags.stderr
@@ -0,0 +1,24 @@
+error: future cannot be sent between threads safely
+ --> $DIR/issue-64130-non-send-future-diags.rs:23:13
+ |
+LL | is_send(foo());
+ | ^^^^^ future returned by `foo` is not `Send`
+ |
+ = help: within `impl Future<Output = ()>`, the trait `Send` is not implemented for `MutexGuard<'_, u32>`
+note: future is not `Send` as this value is used across an await
+ --> $DIR/issue-64130-non-send-future-diags.rs:17:10
+ |
+LL | let g = x.lock().unwrap();
+ | - has type `MutexGuard<'_, u32>` which is not `Send`
+LL | baz().await;
+ | ^^^^^^ await occurs here, with `g` maybe used later
+LL | }
+ | - `g` is later dropped here
+note: required by a bound in `is_send`
+ --> $DIR/issue-64130-non-send-future-diags.rs:9:15
+ |
+LL | fn is_send<T: Send>(t: T) { }
+ | ^^^^ required by this bound in `is_send`
+
+error: aborting due to previous error
+