| error[E0277]: the `?` operator can only be applied to values that implement `Try` |
| --> $DIR/issue-61076.rs:42:5 |
| | |
| LL | foo()?; |
| | ^^^^^^ the `?` operator cannot be applied to type `impl Future<Output = Result<(), ()>>` |
| | |
| = help: the trait `Try` is not implemented for `impl Future<Output = Result<(), ()>>` |
| help: consider `await`ing on the `Future` |
| | |
| LL | foo().await?; |
| | ++++++ |
| |
| error[E0277]: the `?` operator can only be applied to values that implement `Try` |
| --> $DIR/issue-61076.rs:62:5 |
| | |
| LL | t?; |
| | ^^ the `?` operator cannot be applied to type `T` |
| | |
| = help: the trait `Try` is not implemented for `T` |
| help: consider `await`ing on the `Future` |
| | |
| LL | t.await?; |
| | ++++++ |
| |
| error[E0609]: no field `0` on type `impl Future<Output = Tuple>` |
| --> $DIR/issue-61076.rs:71:26 |
| | |
| 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; |
| | ++++++ |
| |
| error[E0609]: no field `a` on type `impl Future<Output = Struct>` |
| --> $DIR/issue-61076.rs:75:28 |
| | |
| 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; |
| | ++++++ |
| |
| error[E0599]: no method named `method` found for opaque type `impl Future<Output = Struct>` in the current scope |
| --> $DIR/issue-61076.rs:79:15 |
| | |
| LL | struct_().method(); |
| | ^^^^^^ 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(); |
| | ++++++ |
| |
| error[E0308]: mismatched types |
| --> $DIR/issue-61076.rs:88:9 |
| | |
| LL | match tuple() { |
| | ------- this expression has type `impl Future<Output = Tuple>` |
| LL | |
| LL | Tuple(_) => {} |
| | ^^^^^^^^ expected future, found `Tuple` |
| | |
| = note: expected opaque type `impl Future<Output = Tuple>` |
| found struct `Tuple` |
| help: consider `await`ing on the `Future` |
| | |
| LL | match tuple().await { |
| | ++++++ |
| |
| error: aborting due to 6 previous errors |
| |
| Some errors have detailed explanations: E0277, E0308, E0599, E0609. |
| For more information about an error, try `rustc --explain E0277`. |