diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-06-02 13:07:12 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-06-02 13:07:12 +0900 |
| commit | 8a68fc6ff4f55a7a775a4339de4ca845a68ab43a (patch) | |
| tree | 1fc2b8016546771976168d08691ff2669e1de564 /src/test | |
| parent | ad4bc3323b9299d867697e9653dcea1b5e1ad283 (diff) | |
| parent | 77503578e1e727228ce47dd7847302936cf80a23 (diff) | |
| download | rust-8a68fc6ff4f55a7a775a4339de4ca845a68ab43a.tar.gz rust-8a68fc6ff4f55a7a775a4339de4ca845a68ab43a.zip | |
Rollup merge of #72775 - JohnTitor:await-sugg, r=estebank
Return early to avoid ICE Fixes #72766
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/suggestions/issue-72766.rs | 20 | ||||
| -rw-r--r-- | src/test/ui/suggestions/issue-72766.stderr | 15 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/issue-72766.rs b/src/test/ui/suggestions/issue-72766.rs new file mode 100644 index 00000000000..0448f071958 --- /dev/null +++ b/src/test/ui/suggestions/issue-72766.rs @@ -0,0 +1,20 @@ +// edition:2018 +// compile-flags: -Cincremental=tmp/issue-72766 + +pub struct SadGirl; + +impl SadGirl { + pub async fn call(&self) -> Result<(), ()> { + Ok(()) + } +} + +async fn async_main() -> Result<(), ()> { + // should be `.call().await?` + SadGirl {}.call()?; //~ ERROR: the `?` operator can only be applied to values + Ok(()) +} + +fn main() { + let _ = async_main(); +} diff --git a/src/test/ui/suggestions/issue-72766.stderr b/src/test/ui/suggestions/issue-72766.stderr new file mode 100644 index 00000000000..4290f3b4bf1 --- /dev/null +++ b/src/test/ui/suggestions/issue-72766.stderr @@ -0,0 +1,15 @@ +error[E0277]: the `?` operator can only be applied to values that implement `std::ops::Try` + --> $DIR/issue-72766.rs:14:5 + | +LL | SadGirl {}.call()?; + | ^^^^^^^^^^^^^^^^^^ + | | + | the `?` operator cannot be applied to type `impl std::future::Future` + | help: consider using `.await` here: `SadGirl {}.call().await?` + | + = help: the trait `std::ops::Try` is not implemented for `impl std::future::Future` + = note: required by `std::ops::Try::into_result` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. |
