| Some type parameters have the same name. | |
| Erroneous code example: | |
| ```compile_fail,E0403 | |
| fn f<T, T>(s: T, u: T) {} // error: the name `T` is already used for a generic | |
| // parameter in this item's generic parameters | |
| ``` | |
| Please verify that none of the type parameters are misspelled, and rename any | |
| clashing parameters. Example: | |
| ``` | |
| fn f<T, Y>(s: T, u: Y) {} // ok! | |
| ``` | |
| Type parameters in an associated item also cannot shadow parameters from the | |
| containing item: | |
| ```compile_fail,E0403 | |
| trait Foo<T> { | |
| fn do_something(&self) -> T; | |
| fn do_something_else<T: Clone>(&self, bar: T); | |
| } | |
| ``` |