summaryrefslogtreecommitdiffstats
path: root/tests/ui/async-await/in-trait/missing-send-bound.stderr
blob: 7e59d94d456dfdbdd354cf9451a63e90cc666970 (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
25
error: future cannot be sent between threads safely
  --> $DIR/missing-send-bound.rs:14:20
   |
LL |     assert_is_send(test::<T>());
   |                    ^^^^^^^^^^^ future returned by `test` is not `Send`
   |
   = help: within `impl Future<Output = ()>`, the trait `Send` is not implemented for `impl Future<Output = ()>`
note: future is not `Send` as it awaits another future which is not `Send`
  --> $DIR/missing-send-bound.rs:10:5
   |
LL |     T::bar().await;
   |     ^^^^^^^^ await occurs here on type `impl Future<Output = ()>`, which is not `Send`
note: required by a bound in `assert_is_send`
  --> $DIR/missing-send-bound.rs:18:27
   |
LL | fn assert_is_send(_: impl Send) {}
   |                           ^^^^ required by this bound in `assert_is_send`
help: `Send` can be made part of the associated future's guarantees for all implementations of `Foo::bar`
   |
LL -     async fn bar();
LL +     fn bar() -> impl std::future::Future<Output = ()> + Send;
   |

error: aborting due to previous error