| //@ edition:2018 | |
| fn dummy() -> i32 { 42 } | |
| fn extra_semicolon() { | |
| let _ = match true { //~ NOTE `match` arms have incompatible types | |
| true => { | |
| dummy(); //~ NOTE this is found to be | |
| //~^ HELP consider removing this semicolon | |
| } | |
| false => dummy(), //~ ERROR `match` arms have incompatible types | |
| //~^ NOTE expected `()`, found `i32` | |
| }; | |
| } | |
| async fn async_dummy() {} | |
| async fn async_dummy2() {} | |
| async fn async_extra_semicolon_same() { | |
| let _ = match true { //~ NOTE `match` arms have incompatible types | |
| true => { | |
| async_dummy(); //~ NOTE this is found to be | |
| //~^ HELP consider removing this semicolon | |
| } | |
| false => async_dummy(), //~ ERROR `match` arms 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 _ = match true { //~ NOTE `match` arms have incompatible types | |
| true => { | |
| async_dummy(); //~ NOTE this is found to be | |
| //~^ HELP consider removing this semicolon | |
| } | |
| false => async_dummy2(), //~ ERROR `match` arms 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 _ = match true { //~ NOTE `match` arms have incompatible types | |
| true => async_dummy(), //~ NOTE this is found to be | |
| //~| HELP consider `await`ing on both `Future`s | |
| false => async_dummy2(), //~ ERROR `match` arms have incompatible types | |
| //~^ NOTE expected future, found a different future | |
| //~| NOTE distinct uses of `impl Trait` result in different opaque types | |
| }; | |
| } | |
| fn main() {} |