2021-07-20 15:04:32 -05:00
|
|
|
error: future cannot be sent between threads safely
|
2022-10-01 05:19:31 -05:00
|
|
|
--> $DIR/issue-86507.rs:20:13
|
2021-07-20 15:04:32 -05:00
|
|
|
|
|
|
|
|
LL | / Box::pin(
|
|
|
|
LL | | async move {
|
|
|
|
LL | | let x = x;
|
|
|
|
LL | | }
|
|
|
|
LL | | )
|
|
|
|
| |_____________^ future created by async block is not `Send`
|
|
|
|
|
|
|
|
|
note: captured value is not `Send` because `&` references cannot be sent unless their referent is `Sync`
|
2022-10-01 05:19:31 -05:00
|
|
|
--> $DIR/issue-86507.rs:22:29
|
2021-07-20 15:04:32 -05:00
|
|
|
|
|
|
|
|
LL | let x = x;
|
|
|
|
| ^ has type `&T` which is not `Send`, because `T` is not `Sync`
|
2022-10-01 05:19:31 -05:00
|
|
|
= note: required for the cast from `[async block@$DIR/issue-86507.rs:21:17: 23:18]` to the object type `dyn Future<Output = ()> + Send`
|
2022-03-14 09:56:37 -05:00
|
|
|
help: consider further restricting this bound
|
2021-07-20 15:04:32 -05:00
|
|
|
|
|
2022-03-14 09:56:37 -05:00
|
|
|
LL | fn bar<'me, 'async_trait, T: Send + std::marker::Sync>(x: &'me T)
|
|
|
|
| +++++++++++++++++++
|
2021-07-20 15:04:32 -05:00
|
|
|
|
|
|
|
error: aborting due to previous error
|
|
|
|
|