blob: 6188d5f61a7f9892d83617af173c1c564ca24e94 [file] [log] [blame] [view]
This error indicates a type mismatch in closure arguments.
Erroneous code example:
```compile_fail,E0631
fn foo<F: Fn(i32)>(f: F) {
}
fn main() {
foo(|x: &str| {});
}
```
The error occurs because `foo` accepts a closure that takes an `i32` argument,
but in `main`, it is passed a closure with a `&str` argument.
This can be resolved by changing the type annotation or removing it entirely
if it can be inferred.
```
fn foo<F: Fn(i32)>(f: F) {
}
fn main() {
foo(|x: i32| {});
}
```