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