diff options
| author | Michael Goulet <michael@errs.io> | 2021-11-17 21:38:04 -0800 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2021-11-20 09:53:08 -0800 |
| commit | 33c443dd9d50c2a8d95609c2250708ea93cbc7f2 (patch) | |
| tree | 5782c92a0df2c964b67b06f2b2e19f320013fbe8 /src | |
| parent | 93542a8240c5f926ac5f3f99cef99366082f9c2b (diff) | |
| download | rust-33c443dd9d50c2a8d95609c2250708ea93cbc7f2.tar.gz rust-33c443dd9d50c2a8d95609c2250708ea93cbc7f2.zip | |
Suggest await on cases involving infer
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/async-await/suggest-missing-await.rs | 17 | ||||
| -rw-r--r-- | src/test/ui/async-await/suggest-missing-await.stderr | 38 |
2 files changed, 54 insertions, 1 deletions
diff --git a/src/test/ui/async-await/suggest-missing-await.rs b/src/test/ui/async-await/suggest-missing-await.rs index df74df79d9f..c7c5b51e733 100644 --- a/src/test/ui/async-await/suggest-missing-await.rs +++ b/src/test/ui/async-await/suggest-missing-await.rs @@ -54,4 +54,21 @@ async fn suggest_await_on_match_expr() { }; } +async fn dummy_result() -> Result<(), ()> { + Ok(()) +} + +#[allow(unused)] +async fn suggest_await_in_generic_pattern() { + match dummy_result() { + //~^ HELP consider `await`ing on the `Future` + //~| HELP consider `await`ing on the `Future` + //~| SUGGESTION .await + Ok(_) => {} + //~^ ERROR mismatched types [E0308] + Err(_) => {} + //~^ ERROR mismatched types [E0308] + } +} + fn main() {} diff --git a/src/test/ui/async-await/suggest-missing-await.stderr b/src/test/ui/async-await/suggest-missing-await.stderr index bea50b3bfc0..5757f39af18 100644 --- a/src/test/ui/async-await/suggest-missing-await.stderr +++ b/src/test/ui/async-await/suggest-missing-await.stderr @@ -106,6 +106,42 @@ help: consider `await`ing on the `Future` LL | let _x = match dummy().await { | ++++++ -error: aborting due to 5 previous errors +error[E0308]: mismatched types + --> $DIR/suggest-missing-await.rs:67:9 + | +LL | Ok(_) => {} + | ^^^^^ expected opaque type, found enum `Result` + | +note: while checking the return type of the `async fn` + --> $DIR/suggest-missing-await.rs:57:28 + | +LL | async fn dummy_result() -> Result<(), ()> { + | ^^^^^^^^^^^^^^ checked the `Output` of this `async fn`, expected opaque type + = note: expected opaque type `impl Future` + found enum `Result<_, _>` +help: consider `await`ing on the `Future` + | +LL | match dummy_result().await { + | ++++++ + +error[E0308]: mismatched types + --> $DIR/suggest-missing-await.rs:69:9 + | +LL | Err(_) => {} + | ^^^^^^ expected opaque type, found enum `Result` + | +note: while checking the return type of the `async fn` + --> $DIR/suggest-missing-await.rs:57:28 + | +LL | async fn dummy_result() -> Result<(), ()> { + | ^^^^^^^^^^^^^^ checked the `Output` of this `async fn`, expected opaque type + = note: expected opaque type `impl Future` + found enum `Result<_, _>` +help: consider `await`ing on the `Future` + | +LL | match dummy_result().await { + | ++++++ + +error: aborting due to 7 previous errors For more information about this error, try `rustc --explain E0308`. |
