| An invalid number of arguments was given when calling a closure. |
| |
| Erroneous code example: |
| |
| ```compile_fail,E0057 |
| let f = |x| x * 3; |
| let a = f(); // invalid, too few parameters |
| let b = f(4); // this works! |
| let c = f(2, 3); // invalid, too many parameters |
| ``` |
| |
| When invoking closures or other implementations of the function traits `Fn`, |
| `FnMut` or `FnOnce` using call notation, the number of parameters passed to the |
| function must match its definition. |
| |
| A generic function must be treated similarly: |
| |
| ``` |
| fn foo<F: Fn()>(f: F) { |
| f(); // this is valid, but f(3) would not work |
| } |
| ``` |