error[E0271]: expected `fn() -> impl Future<Output = ()> {test}` to be a fn item that returns `Pin<Box<(dyn Future<Output = ()> + 'static)>>`, but it returns `impl Future<Output = ()>`
  --> $DIR/issue-98604.rs:9:5
   |
LL |     Box::new(test) as AsyncFnPtr;
   |     ^^^^^^^^^^^^^^ expected struct `Pin`, found opaque type
   |
note: while checking the return type of the `async fn`
  --> $DIR/issue-98604.rs:5:17
   |
LL | async fn test() {}
   |                 ^ checked the `Output` of this `async fn`, found opaque type
   = note:   expected struct `Pin<Box<(dyn Future<Output = ()> + 'static)>>`
           found opaque type `impl Future<Output = ()>`
   = note: required for the cast from `fn() -> impl Future<Output = ()> {test}` to the object type `dyn Fn() -> Pin<Box<(dyn Future<Output = ()> + 'static)>>`

error: aborting due to previous error

For more information about this error, try `rustc --explain E0271`.
