error[E0308]: mismatched types --> $DIR/generator-desc.rs:10:25 | LL | fun(async {}, async {}); | -- ^^ expected `async` block, found a different `async` block | | | the expected `async` block | = note: expected `async` block `[static generator@$DIR/generator-desc.rs:10:15: 10:17]` found `async` block `[static generator@$DIR/generator-desc.rs:10:25: 10:27]` error[E0308]: mismatched types --> $DIR/generator-desc.rs:12:16 | LL | fun(one(), two()); | ^^^^^ expected opaque type, found a different opaque type | note: while checking the return type of the `async fn` --> $DIR/generator-desc.rs:5:16 | LL | async fn one() {} | ^ checked the `Output` of this `async fn`, expected opaque type note: while checking the return type of the `async fn` --> $DIR/generator-desc.rs:6:16 | LL | async fn two() {} | ^ checked the `Output` of this `async fn`, found opaque type = note: expected opaque type `impl Future` (opaque type at <$DIR/generator-desc.rs:5:16>) found opaque type `impl Future` (opaque type at <$DIR/generator-desc.rs:6:16>) = help: consider `await`ing on both `Future`s = note: distinct uses of `impl Trait` result in different opaque types error[E0308]: mismatched types --> $DIR/generator-desc.rs:14:26 | LL | fun((async || {})(), (async || {})()); | -- ^^^^^^^^^^^^^^^ expected `async` closure body, found a different `async` closure body | | | the expected `async` closure body | ::: $SRC_DIR/core/src/future/mod.rs:LL:COL | LL | pub const fn from_generator(gen: T) -> impl Future | ------------------------------- | | | the expected opaque type | the found opaque type | = note: expected opaque type `impl Future` (`async` closure body) found opaque type `impl Future` (`async` closure body) error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0308`.