1 error[E0277]: `[async fn body@$DIR/async.rs:23:29: 25:2]` is not a future
2 --> $DIR/async.rs:23:25
4 LL | async fn foo(x: u32) -> u32 {
5 | ^^^ `[async fn body@$DIR/async.rs:23:29: 25:2]` is not a future
7 = help: the trait `Future` is not implemented for `[async fn body@$DIR/async.rs:23:29: 25:2]`
8 = note: [async fn body@$DIR/async.rs:23:29: 25:2] must be a future or must implement `IntoFuture` to be awaited
10 error: internal compiler error: projection clauses should be implied from elsewhere. obligation: `Obligation(predicate=Binder(ProjectionPredicate(AliasTy { substs: [[async fn body@$DIR/async.rs:23:29: 25:2]], def_id: ... }, Term::Ty(u32)), []), depth=0)`
11 --> $DIR/async.rs:23:25
13 LL | async fn foo(x: u32) -> u32 {
14 | ^^^query stack during panic:
15 #0 [typeck] type-checking `foo`
16 #1 [thir_body] building THIR for `foo`
17 #2 [check_match] match-checking `foo`
18 #3 [mir_built] building MIR for `foo`
19 #4 [unsafety_check_result] unsafety-checking `foo`
20 #5 [mir_const] preparing `foo` for borrow checking
21 #6 [mir_promoted] promoting constants in MIR for `foo`
22 #7 [mir_borrowck] borrow-checking `foo`
23 #8 [type_of] computing type of `foo::{opaque#0}`
24 #9 [check_mod_item_types] checking item types in top-level module
25 #10 [analysis] running analysis passes on this crate
27 error: aborting due to 2 previous errors
29 For more information about this error, try `rustc --explain E0277`.