summaryrefslogtreecommitdiffstats
path: root/tests/ui/closures/closure-wrong-kind.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/closures/closure-wrong-kind.stderr')
-rw-r--r--tests/ui/closures/closure-wrong-kind.stderr21
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/ui/closures/closure-wrong-kind.stderr b/tests/ui/closures/closure-wrong-kind.stderr
new file mode 100644
index 000000000..9ea55d764
--- /dev/null
+++ b/tests/ui/closures/closure-wrong-kind.stderr
@@ -0,0 +1,21 @@
+error[E0525]: expected a closure that implements the `Fn` trait, but this closure only implements `FnOnce`
+ --> $DIR/closure-wrong-kind.rs:10:19
+ |
+LL | let closure = |_| foo(x);
+ | ^^^ - closure is `FnOnce` because it moves the variable `x` out of its environment
+ | |
+ | this closure implements `FnOnce`, not `Fn`
+LL | bar(closure);
+ | --- ------- the requirement to implement `Fn` derives from here
+ | |
+ | required by a bound introduced by this call
+ |
+note: required by a bound in `bar`
+ --> $DIR/closure-wrong-kind.rs:6:11
+ |
+LL | fn bar<T: Fn(u32)>(_: T) {}
+ | ^^^^^^^ required by this bound in `bar`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0525`.