diff options
Diffstat (limited to 'tests/ui/closures/multiple-fn-bounds.stderr')
-rw-r--r-- | tests/ui/closures/multiple-fn-bounds.stderr | 28 |
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`. |