2020-10-21 19:08:28 -07:00
|
|
|
// 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`
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2021-02-15 14:27:36 -08:00
|
|
|
async fn async_dummy() {} //~ NOTE checked the `Output` of this `async fn`, found opaque type
|
2021-07-31 12:20:00 -07:00
|
|
|
//~| NOTE while checking the return type of the `async fn`
|
|
|
|
//~| NOTE in this expansion of desugaring of `async` block or function
|
2022-04-17 15:00:32 -04:00
|
|
|
//~| NOTE checked the `Output` of this `async fn`, expected opaque type
|
|
|
|
//~| NOTE while checking the return type of the `async fn`
|
|
|
|
//~| NOTE in this expansion of desugaring of `async` block or function
|
2021-02-15 14:27:36 -08:00
|
|
|
async fn async_dummy2() {} //~ NOTE checked the `Output` of this `async fn`, found opaque type
|
|
|
|
//~| NOTE checked the `Output` of this `async fn`, found opaque type
|
2021-07-31 12:20:00 -07:00
|
|
|
//~| NOTE while checking the return type of the `async fn`
|
|
|
|
//~| NOTE in this expansion of desugaring of `async` block or function
|
|
|
|
//~| NOTE while checking the return type of the `async fn`
|
|
|
|
//~| NOTE in this expansion of desugaring of `async` block or function
|
2020-10-21 19:08:28 -07:00
|
|
|
|
|
|
|
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 opaque type
|
2022-04-17 15:00:32 -04:00
|
|
|
//~| NOTE expected unit type `()`
|
2020-10-21 19:08:28 -07:00
|
|
|
//~| HELP consider `await`ing on the `Future`
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2020-10-21 19:43:15 -07:00
|
|
|
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 opaque type
|
2022-04-17 15:00:32 -04:00
|
|
|
//~| NOTE expected unit type `()`
|
2020-10-21 19:43:15 -07:00
|
|
|
//~| HELP consider `await`ing on the `Future`
|
|
|
|
};
|
|
|
|
}
|
2020-10-21 19:08:28 -07:00
|
|
|
|
2020-10-22 11:34:46 -07:00
|
|
|
async fn async_different_futures() {
|
|
|
|
let _ = match true { //~ NOTE `match` arms have incompatible types
|
|
|
|
true => async_dummy(), //~ NOTE this is found to be
|
2020-10-22 19:03:36 -07:00
|
|
|
//~| HELP consider `await`ing on both `Future`s
|
2020-10-22 11:34:46 -07:00
|
|
|
false => async_dummy2(), //~ ERROR `match` arms have incompatible types
|
|
|
|
//~^ NOTE expected opaque type, found a different opaque type
|
2022-04-17 15:00:32 -04:00
|
|
|
//~| NOTE expected opaque type `impl Future<Output = ()>`
|
2020-10-22 11:34:46 -07:00
|
|
|
//~| NOTE distinct uses of `impl Trait` result in different opaque types
|
|
|
|
};
|
|
|
|
}
|
|
|
|
|
2020-10-21 19:43:15 -07:00
|
|
|
fn main() {}
|