summaryrefslogtreecommitdiffstats
path: root/tests/ui/closures/multiple-fn-bounds.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/closures/multiple-fn-bounds.stderr')
-rw-r--r--tests/ui/closures/multiple-fn-bounds.stderr28
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/ui/closures/multiple-fn-bounds.stderr b/tests/ui/closures/multiple-fn-bounds.stderr
new file mode 100644
index 000000000..32a1edb00
--- /dev/null
+++ b/tests/ui/closures/multiple-fn-bounds.stderr
@@ -0,0 +1,28 @@
+error[E0631]: type mismatch in closure arguments
+ --> $DIR/multiple-fn-bounds.rs:10:5
+ |
+LL | foo(move |x| v);
+ | ^^^ -------- found signature defined here
+ | |
+ | expected due to this
+ |
+ = note: expected closure signature `fn(char) -> _`
+ found closure signature `for<'a> fn(&'a char) -> _`
+note: closure inferred to have a different signature due to this bound
+ --> $DIR/multiple-fn-bounds.rs:1:11
+ |
+LL | fn foo<F: Fn(&char) -> bool + Fn(char) -> bool>(f: F) {
+ | ^^^^^^^^^^^^^^^^^
+note: required by a bound in `foo`
+ --> $DIR/multiple-fn-bounds.rs:1:31
+ |
+LL | fn foo<F: Fn(&char) -> bool + Fn(char) -> bool>(f: F) {
+ | ^^^^^^^^^^^^^^^^ required by this bound in `foo`
+help: do not borrow the argument
+ |
+LL | foo(move |char| v);
+ | ~~~~
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0631`.