error[E0277]: the `?` operator can only be applied to values that implement `Try` --> $DIR/issue-97704.rs:9:5 | LL | func(async { Ok::<_, i32>(()) })?; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the `?` operator cannot be applied to type `impl Future>` | = help: the trait `Try` is not implemented for `impl Future>` help: consider `await`ing on the `Future` | LL | func(async { Ok::<_, i32>(()) }).await?; | ++++++ error: aborting due to 1 previous error For more information about this error, try `rustc --explain E0277`.