| //@ edition:2018 |
| |
| fn dummy() -> i32 { |
| 42 |
| } |
| |
| fn extra_semicolon() { |
| let _ = if true { |
| //~^ NOTE `if` and `else` have incompatible types |
| dummy(); //~ NOTE expected because of this |
| //~^ HELP consider removing this semicolon |
| } else { |
| dummy() //~ ERROR `if` and `else` have incompatible types |
| //~^ NOTE expected `()`, found `i32` |
| }; |
| } |
| |
| async fn async_dummy() {} |
| |
| async fn async_dummy2() {} |
| |
| async fn async_extra_semicolon_same() { |
| let _ = if true { |
| //~^ NOTE `if` and `else` have incompatible types |
| async_dummy(); //~ NOTE expected because of this |
| //~^ HELP consider removing this semicolon |
| } else { |
| async_dummy() //~ ERROR `if` and `else` have incompatible types |
| //~^ NOTE expected `()`, found future |
| //~| NOTE calling an async function returns a future |
| //~| HELP consider `await`ing on the `Future` |
| }; |
| } |
| |
| async fn async_extra_semicolon_different() { |
| let _ = if true { |
| //~^ NOTE `if` and `else` have incompatible types |
| async_dummy(); //~ NOTE expected because of this |
| //~^ HELP consider removing this semicolon |
| } else { |
| async_dummy2() //~ ERROR `if` and `else` have incompatible types |
| //~^ NOTE expected `()`, found future |
| //~| NOTE calling an async function returns a future |
| //~| HELP consider `await`ing on the `Future` |
| }; |
| } |
| |
| async fn async_different_futures() { |
| let _ = if true { |
| //~^ NOTE `if` and `else` have incompatible types |
| async_dummy() //~ NOTE expected because of this |
| //~| HELP consider `await`ing on both `Future`s |
| } else { |
| async_dummy2() //~ ERROR `if` and `else` have incompatible types |
| //~^ NOTE expected future, found a different future |
| //~| NOTE distinct uses of `impl Trait` result in different opaque types |
| }; |
| } |
| |
| fn main() {} |