rust/tests/ui/closures/multiple-fn-bounds.stderr

30 lines
1011 B
Plaintext

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(_) -> _`
found closure signature `fn(&_) -> _`
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: consider adjusting the signature so it does not borrow its argument
|
LL | foo(move |char| v);
| ~~~~
error: aborting due to 1 previous error
For more information about this error, try `rustc --explain E0631`.