summaryrefslogtreecommitdiffstats
path: root/src/test/ui/async-await/issue-64130-non-send-future-diags.stderr
blob: 1da80d98bf8fc465f0626b17421760c2a1fccdc6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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