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`.
