rust/tests/ui/async-await/issue-61076.stderr

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

83 lines
2.8 KiB
Plaintext
Raw Normal View History

error[E0277]: the `?` operator can only be applied to values that implement `Try`
2020-08-20 15:34:08 +08:00
--> $DIR/issue-61076.rs:42:5
2020-05-10 22:34:20 +08:00
|
LL | foo()?;
2021-11-16 16:16:23 -08:00
| ^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<(), ()>>`
2020-05-10 22:34:20 +08:00
|
2021-11-16 16:16:23 -08:00
= help: the trait `Try` is not implemented for `impl Future<Output = Result<(), ()>>`
2020-10-21 14:25:09 -07:00
help: consider `await`ing on the `Future`
|
LL | foo().await?;
| ++++++
2020-05-10 22:34:20 +08:00
error[E0277]: the `?` operator can only be applied to values that implement `Try`
--> $DIR/issue-61076.rs:65:5
2020-05-14 23:07:46 +08:00
|
LL | t?;
2020-10-21 14:25:09 -07:00
| ^^ the `?` operator cannot be applied to type `T`
2020-05-14 23:07:46 +08:00
|
= help: the trait `Try` is not implemented for `T`
2020-10-21 14:25:09 -07:00
help: consider `await`ing on the `Future`
|
LL | t.await?;
| ++++++
2020-05-14 23:07:46 +08:00
2021-11-16 16:16:23 -08:00
error[E0609]: no field `0` on type `impl Future<Output = Tuple>`
--> $DIR/issue-61076.rs:74:26
2020-05-30 22:57:12 +08:00
|
2020-08-16 20:25:22 +08:00
LL | let _: i32 = tuple().0;
| ^ field not available in `impl Future`, but it is available in its `Output`
|
help: consider `await`ing on the `Future` and access the field of its `Output`
|
LL | let _: i32 = tuple().await.0;
| ++++++
2020-05-30 22:57:12 +08:00
2021-11-16 16:16:23 -08:00
error[E0609]: no field `a` on type `impl Future<Output = Struct>`
--> $DIR/issue-61076.rs:78:28
2020-05-30 22:57:12 +08:00
|
2020-08-16 20:25:22 +08:00
LL | let _: i32 = struct_().a;
| ^ field not available in `impl Future`, but it is available in its `Output`
|
help: consider `await`ing on the `Future` and access the field of its `Output`
|
LL | let _: i32 = struct_().await.a;
| ++++++
2020-05-30 22:57:12 +08:00
2021-11-16 16:16:23 -08:00
error[E0599]: no method named `method` found for opaque type `impl Future<Output = Struct>` in the current scope
--> $DIR/issue-61076.rs:82:15
2020-08-20 15:34:08 +08:00
|
LL | struct_().method();
2021-11-16 16:16:23 -08:00
| ^^^^^^ method not found in `impl Future<Output = Struct>`
|
help: consider `await`ing on the `Future` and calling the method on its `Output`
|
LL | struct_().await.method();
| ++++++
2020-08-20 15:34:08 +08:00
2020-08-20 18:42:08 +08:00
error[E0308]: mismatched types
--> $DIR/issue-61076.rs:91:9
2020-08-20 18:42:08 +08:00
|
LL | match tuple() {
| ------- this expression has type `impl Future<Output = Tuple>`
LL |
2020-08-20 18:42:08 +08:00
LL | Tuple(_) => {}
| ^^^^^^^^ expected opaque type, found struct `Tuple`
|
2021-07-31 12:20:00 -07:00
note: while checking the return type of the `async fn`
--> $DIR/issue-61076.rs:56:21
2021-07-31 12:20:00 -07:00
|
LL | async fn tuple() -> Tuple {
| ^^^^^ checked the `Output` of this `async fn`, expected opaque type
2021-11-16 16:16:23 -08:00
= note: expected opaque type `impl Future<Output = Tuple>`
2020-08-20 18:42:08 +08:00
found struct `Tuple`
2020-10-22 19:03:36 -07:00
help: consider `await`ing on the `Future`
|
LL | match tuple().await {
| ++++++
2020-08-20 18:42:08 +08:00
error: aborting due to 6 previous errors
2020-05-10 22:34:20 +08:00
2020-08-20 18:42:08 +08:00
Some errors have detailed explanations: E0277, E0308, E0599, E0609.
2020-05-30 22:57:12 +08:00
For more information about an error, try `rustc --explain E0277`.