|
= help: the trait `Sync` is not implemented for `RefCell<i32>`
= note: required because of the requirements on the impl of `Send` for `Arc<RefCell<i32>>`
- = note: required because it appears within the type `[static generator@$DIR/issue-68112.rs:47:31: 47:36]`
- = note: required because it appears within the type `from_generator::GenFuture<[static generator@$DIR/issue-68112.rs:47:31: 47:36]>`
- = note: required because it appears within the type `impl Future<Output = Arc<RefCell<i32>>>`
- = note: required because it appears within the type `impl Future<Output = Arc<RefCell<i32>>>`
- = note: required because it appears within the type `impl Future<Output = Arc<RefCell<i32>>>`
- = note: required because it appears within the type `{ResumeTy, impl Future<Output = Arc<RefCell<i32>>>, (), i32, Ready<i32>}`
- = note: required because it appears within the type `[static generator@$DIR/issue-68112.rs:55:26: 59:6]`
- = note: required because it appears within the type `from_generator::GenFuture<[static generator@$DIR/issue-68112.rs:55:26: 59:6]>`
- = note: required because it appears within the type `impl Future<Output = ()>`
+note: required because it's used within this `async fn` body
+ --> $DIR/issue-68112.rs:47:31
+ |
+LL | async fn ready2<T>(t: T) -> T { t }
+ | ^^^^^
+note: required because it appears within the type `impl Future<Output = Arc<RefCell<i32>>>`
+ --> $DIR/issue-68112.rs:48:31
+ |
+LL | fn make_non_send_future2() -> impl Future<Output = Arc<RefCell<i32>>> {
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+ = note: required because it captures the following types: `ResumeTy`, `impl Future<Output = Arc<RefCell<i32>>>`, `()`, `i32`, `Ready<i32>`
+note: required because it's used within this `async` block
+ --> $DIR/issue-68112.rs:55:26
+ |
+LL | let send_fut = async {
+ | __________________________^
+LL | | let non_send_fut = make_non_send_future2();
+LL | | let _ = non_send_fut.await;
+LL | | ready(0).await;
+LL | | };
+ | |_____^
note: required by a bound in `require_send`
--> $DIR/issue-68112.rs:11:25
|