| error[E0277]: the trait bound `fn() -> impl std::future::Future {foo}: std::future::Future` is not satisfied |
| --> $DIR/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.rs:10:9 |
| | |
| LL | async fn foo() {} |
| | --- consider calling this function |
| LL | |
| LL | fn bar(f: impl Future<Output=()>) {} |
| | --- ----------------- required by this bound in `bar` |
| ... |
| LL | bar(foo); |
| | ^^^ |
| | | |
| | the trait `std::future::Future` is not implemented for `fn() -> impl std::future::Future {foo}` |
| | help: use parentheses to call the function: `foo()` |
| |
| error[E0277]: the trait bound `[closure@$DIR/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.rs:11:25: 11:36]: std::future::Future` is not satisfied |
| --> $DIR/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.rs:12:9 |
| | |
| LL | fn bar(f: impl Future<Output=()>) {} |
| | --- ----------------- required by this bound in `bar` |
| ... |
| LL | let async_closure = async || (); |
| | -------- consider calling this closure |
| LL | bar(async_closure); |
| | ^^^^^^^^^^^^^ |
| | | |
| | the trait `std::future::Future` is not implemented for `[closure@$DIR/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.rs:11:25: 11:36]` |
| | help: use parentheses to call the closure: `async_closure()` |
| |
| error: aborting due to 2 previous errors |
| |
| For more information about this error, try `rustc --explain E0277`. |