summaryrefslogtreecommitdiffstats
path: root/src/test/ui/async-await/issue-71137.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/async-await/issue-71137.stderr')
-rw-r--r--src/test/ui/async-await/issue-71137.stderr25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/test/ui/async-await/issue-71137.stderr b/src/test/ui/async-await/issue-71137.stderr
new file mode 100644
index 000000000..eade6aa2d
--- /dev/null
+++ b/src/test/ui/async-await/issue-71137.stderr
@@ -0,0 +1,25 @@
+error: future cannot be sent between threads safely
+ --> $DIR/issue-71137.rs:22:14
+ |
+LL | fake_spawn(wrong_mutex());
+ | ^^^^^^^^^^^^^ future returned by `wrong_mutex` is not `Send`
+ |
+ = help: within `impl Future<Output = ()>`, the trait `Send` is not implemented for `MutexGuard<'_, i32>`
+note: future is not `Send` as this value is used across an await
+ --> $DIR/issue-71137.rs:14:25
+ |
+LL | let mut guard = m.lock().unwrap();
+ | --------- has type `MutexGuard<'_, i32>` which is not `Send`
+LL | (async { "right"; }).await;
+ | ^^^^^^ await occurs here, with `mut guard` maybe used later
+LL | *guard += 1;
+LL | }
+ | - `mut guard` is later dropped here
+note: required by a bound in `fake_spawn`
+ --> $DIR/issue-71137.rs:8:27
+ |
+LL | fn fake_spawn<F: Future + Send + 'static>(f: F) { }
+ | ^^^^ required by this bound in `fake_spawn`
+
+error: aborting due to previous error
+