error[E0308]: mismatched types --> $DIR/issue-78722-2.rs:16:20 | LL | type F = impl core::future::Future; | -------------------------------------- the expected future ... LL | let f: F = async { 1 }; | - ^^^^^^^^^^^ expected future, found `async` block | | | expected due to this | = note: expected opaque type `F` found `async` block `{async block@$DIR/issue-78722-2.rs:16:20: 16:25}` error[E0271]: expected `{async block@$DIR/issue-78722-2.rs:13:13: 13:18}` to be a future that resolves to `u8`, but it resolves to `()` --> $DIR/issue-78722-2.rs:11:30 | LL | fn concrete_use() -> F { | ^ expected `u8`, found `()` error: aborting due to 2 previous errors Some errors have detailed explanations: E0271, E0308. For more information about an error, try `rustc --explain E0271`.