| #### Note: this error code is no longer emitted by the compiler. | |
| An explicit generic argument was provided when calling a function that | |
| uses `impl Trait` in argument position. | |
| Erroneous code example: | |
| ```ignore (no longer an error) | |
| fn foo<T: Copy>(a: T, b: impl Clone) {} | |
| foo::<i32>(0i32, "abc".to_string()); | |
| ``` | |
| Either all generic arguments should be inferred at the call site, or | |
| the function definition should use an explicit generic type parameter | |
| instead of `impl Trait`. Example: | |
| ``` | |
| fn foo<T: Copy>(a: T, b: impl Clone) {} | |
| fn bar<T: Copy, U: Clone>(a: T, b: U) {} | |
| foo(0i32, "abc".to_string()); | |
| bar::<i32, String>(0i32, "abc".to_string()); | |
| bar::<_, _>(0i32, "abc".to_string()); | |
| bar(0i32, "abc".to_string()); | |
| ``` |