| error[E0277]: the trait bound `impl Future<Output = ()>: Coroutine<_>` is not satisfied |
| --> $DIR/coroutine-not-future.rs:31:21 |
| | |
| LL | takes_coroutine(async_fn()); |
| | --------------- ^^^^^^^^^^ the trait `Coroutine<_>` is not implemented for `impl Future<Output = ()>` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required by a bound in `takes_coroutine` |
| --> $DIR/coroutine-not-future.rs:18:39 |
| | |
| LL | fn takes_coroutine<ResumeTy>(_g: impl Coroutine<ResumeTy, Yield = (), Return = ()>) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `takes_coroutine` |
| |
| error[E0277]: the trait bound `impl Future<Output = ()>: Coroutine<_>` is not satisfied |
| --> $DIR/coroutine-not-future.rs:33:21 |
| | |
| LL | takes_coroutine(returns_async_block()); |
| | --------------- ^^^^^^^^^^^^^^^^^^^^^ the trait `Coroutine<_>` is not implemented for `impl Future<Output = ()>` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required by a bound in `takes_coroutine` |
| --> $DIR/coroutine-not-future.rs:18:39 |
| | |
| LL | fn takes_coroutine<ResumeTy>(_g: impl Coroutine<ResumeTy, Yield = (), Return = ()>) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `takes_coroutine` |
| |
| error[E0277]: the trait bound `{async block@$DIR/coroutine-not-future.rs:35:21: 35:29}: Coroutine<_>` is not satisfied |
| --> $DIR/coroutine-not-future.rs:35:21 |
| | |
| LL | takes_coroutine(async {}); |
| | --------------- ^^^^^^^^ the trait `Coroutine<_>` is not implemented for `{async block@$DIR/coroutine-not-future.rs:35:21: 35:29}` |
| | | |
| | required by a bound introduced by this call |
| | |
| note: required by a bound in `takes_coroutine` |
| --> $DIR/coroutine-not-future.rs:18:39 |
| | |
| LL | fn takes_coroutine<ResumeTy>(_g: impl Coroutine<ResumeTy, Yield = (), Return = ()>) {} |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `takes_coroutine` |
| |
| error[E0277]: `impl Coroutine<Yield = (), Return = ()>` is not a future |
| --> $DIR/coroutine-not-future.rs:39:18 |
| | |
| LL | takes_future(returns_coroutine()); |
| | ------------ ^^^^^^^^^^^^^^^^^^^ `impl Coroutine<Yield = (), Return = ()>` is not a future |
| | | |
| | required by a bound introduced by this call |
| | |
| = help: the trait `Future` is not implemented for `impl Coroutine<Yield = (), Return = ()>` |
| = note: impl Coroutine<Yield = (), Return = ()> must be a future or must implement `IntoFuture` to be awaited |
| note: required by a bound in `takes_future` |
| --> $DIR/coroutine-not-future.rs:17:26 |
| | |
| LL | fn takes_future(_f: impl Future<Output = ()>) {} |
| | ^^^^^^^^^^^^^^^^^^^ required by this bound in `takes_future` |
| |
| error[E0277]: `{coroutine@$DIR/coroutine-not-future.rs:41:18: 41:23}` is not a future |
| --> $DIR/coroutine-not-future.rs:41:18 |
| | |
| LL | takes_future(|ctx| { |
| | _____------------_^ |
| | | | |
| | | required by a bound introduced by this call |
| LL | | |
| LL | | ctx = yield (); |
| LL | | }); |
| | |_____^ `{coroutine@$DIR/coroutine-not-future.rs:41:18: 41:23}` is not a future |
| | |
| = help: the trait `Future` is not implemented for `{coroutine@$DIR/coroutine-not-future.rs:41:18: 41:23}` |
| = note: {coroutine@$DIR/coroutine-not-future.rs:41:18: 41:23} must be a future or must implement `IntoFuture` to be awaited |
| note: required by a bound in `takes_future` |
| --> $DIR/coroutine-not-future.rs:17:26 |
| | |
| LL | fn takes_future(_f: impl Future<Output = ()>) {} |
| | ^^^^^^^^^^^^^^^^^^^ required by this bound in `takes_future` |
| |
| error: aborting due to 5 previous errors |
| |
| For more information about this error, try `rustc --explain E0277`. |