diff options
Diffstat (limited to 'src/librustc_resolve/error_codes.rs')
| -rw-r--r-- | src/librustc_resolve/error_codes.rs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/librustc_resolve/error_codes.rs b/src/librustc_resolve/error_codes.rs index e01f53786ed..1faaf97e981 100644 --- a/src/librustc_resolve/error_codes.rs +++ b/src/librustc_resolve/error_codes.rs @@ -526,15 +526,25 @@ Some type parameters have the same name. Erroneous code example: ```compile_fail,E0403 -fn foo<T, T>(s: T, u: T) {} // error: the name `T` is already used for a type - // parameter in this type parameter list +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 foo<T, Y>(s: T, u: Y) {} // ok! +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); +} ``` "##, |
