summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggestions/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.stderr')
-rw-r--r--src/test/ui/suggestions/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.stderr48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.stderr b/src/test/ui/suggestions/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.stderr
new file mode 100644
index 000000000..c7d420e0a
--- /dev/null
+++ b/src/test/ui/suggestions/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.stderr
@@ -0,0 +1,48 @@
+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 | async fn foo() {}
+ | --- consider calling this function
+...
+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() -> impl Future<Output = ()> {foo}`
+ = note: fn() -> impl Future<Output = ()> {foo} must be a future or must implement `IntoFuture` to be awaited
+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 the function
+ |
+LL | bar(foo());
+ | ++
+
+error[E0277]: `[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 | let async_closure = async || ();
+ | -------- consider calling this closure
+LL | bar(async_closure);
+ | --- ^^^^^^^^^^^^^ `[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 `[closure@$DIR/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.rs:11:25: 11:33]`
+ = note: [closure@$DIR/async-fn-ctor-passed-as-arg-where-it-should-have-been-called.rs:11:25: 11:33] must be a future or must implement `IntoFuture` to be awaited
+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 the closure
+ |
+LL | bar(async_closure());
+ | ++
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0277`.