error[E0271]: expected `callback` to be a fn item that returns `Pin>>`, but it returns `impl Future` --> $DIR/issue-98634.rs:45:23 | LL | StructAsync { callback }.await; | ^^^^^^^^ expected `Pin>>`, found opaque type | note: while checking the return type of the `async fn` --> $DIR/issue-98634.rs:24:21 | LL | async fn callback() {} | ^ checked the `Output` of this `async fn`, found opaque type = note: expected struct `Pin + 'static)>>` found opaque type `impl Future` note: required by a bound in `StructAsync` --> $DIR/issue-98634.rs:9:35 | LL | pub struct StructAsync Pin>>> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `StructAsync` error[E0271]: expected `callback` to be a fn item that returns `Pin>>`, but it returns `impl Future` --> $DIR/issue-98634.rs:45:9 | LL | StructAsync { callback }.await; | ^^^^^^^^^^^^^^^^^^^^^^^^ expected `Pin>>`, found opaque type | note: while checking the return type of the `async fn` --> $DIR/issue-98634.rs:24:21 | LL | async fn callback() {} | ^ checked the `Output` of this `async fn`, found opaque type = note: expected struct `Pin + 'static)>>` found opaque type `impl Future` note: required by a bound in `StructAsync` --> $DIR/issue-98634.rs:9:35 | LL | pub struct StructAsync Pin>>> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `StructAsync` error[E0271]: expected `callback` to be a fn item that returns `Pin>>`, but it returns `impl Future` --> $DIR/issue-98634.rs:45:33 | LL | StructAsync { callback }.await; | ^^^^^^ expected `Pin>>`, found opaque type | note: while checking the return type of the `async fn` --> $DIR/issue-98634.rs:24:21 | LL | async fn callback() {} | ^ checked the `Output` of this `async fn`, found opaque type = note: expected struct `Pin + 'static)>>` found opaque type `impl Future` note: required by a bound in `StructAsync` --> $DIR/issue-98634.rs:9:35 | LL | pub struct StructAsync Pin>>> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `StructAsync` error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0271`.