Some type parameters have the same name.
Erroneous code example:
#![allow(unused)]
fn main() {
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:
#![allow(unused)]
fn main() {
fn f<T, Y>(s: T, u: Y) {} // ok!
} Type parameters in an associated item also cannot shadow parameters from the containing item:
#![allow(unused)]
fn main() {
trait Foo<T> {
fn do_something(&self) -> T;
fn do_something_else<T: Clone>(&self, bar: T);
}
}
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/error_codes/E0403.html