error[E0277]: `main` has invalid return type `Option<()>`
  --> $DIR/issue-102605.rs:11:14
   |
LL | fn main() -> Option<()> {
   |              ^^^^^^^^^^ `main` can only return types that implement `Termination`
   |
   = help: consider using `()`, or a `Result`

error[E0308]: mismatched types
  --> $DIR/issue-102605.rs:13:20
   |
LL |     convert_result(foo())
   |     -------------- ^^^^^ expected `Result<(), _>`, found future
   |     |
   |     arguments to this function are incorrect
   |
note: calling an async function returns a future
  --> $DIR/issue-102605.rs:13:20
   |
LL |     convert_result(foo())
   |                    ^^^^^
note: function defined here
  --> $DIR/issue-102605.rs:7:4
   |
LL | fn convert_result<T, E>(r: Result<T, E>) -> Option<T> {
   |    ^^^^^^^^^^^^^^       ---------------
help: consider `await`ing on the `Future`
   |
LL |     convert_result(foo().await)
   |                         ++++++
help: try wrapping the expression in `Err`
   |
LL |     convert_result(Err(foo()))
   |                    ++++     +

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0277, E0308.
For more information about an error, try `rustc --explain E0277`.
