25 lines
1.1 KiB
Plaintext
25 lines
1.1 KiB
Plaintext
error: future cannot be sent between threads safely
|
|
--> $DIR/issue-86507.rs:20:13
|
|
|
|
|
LL | / Box::pin(
|
|
LL | | async move {
|
|
LL | | let x = x;
|
|
LL | | }
|
|
LL | | )
|
|
| |_____________^ future created by async block is not `Send`
|
|
|
|
|
= note: consider using `std::sync::Arc<T>`; for more information visit <https://doc.rust-lang.org/book/ch16-03-shared-state.html>
|
|
note: captured value is not `Send` because `&` references cannot be sent unless their referent is `Sync`
|
|
--> $DIR/issue-86507.rs:22:29
|
|
|
|
|
LL | let x = x;
|
|
| ^ has type `&T` which is not `Send`, because `T` is not `Sync`
|
|
= note: required for the cast from `Pin<Box<[async block@$DIR/issue-86507.rs:21:17: 23:18]>>` to `Pin<Box<(dyn Future<Output = ()> + Send + 'async_trait)>>`
|
|
help: consider further restricting this bound
|
|
|
|
|
LL | fn bar<'me, 'async_trait, T: Send + std::marker::Sync>(x: &'me T)
|
|
| +++++++++++++++++++
|
|
|
|
error: aborting due to previous error
|
|
|