| An associated item was specified more than once in a trait object. | |
| Erroneous code example: | |
| ```compile_fail,E0719 | |
| trait FooTrait {} | |
| trait BarTrait {} | |
| // error: associated type `Item` in trait `Iterator` is specified twice | |
| type Foo = dyn Iterator<Item = u32, Item = u32>; | |
| ``` | |
| To fix this, remove the duplicate specifier: | |
| Corrected example: | |
| ``` | |
| type Foo = dyn Iterator<Item = u32>; // ok! | |
| ``` | |
| For more information about associated types, see [the book][bk-at]. For more | |
| information on associated type bounds, see [RFC 2289][rfc-2289]. | |
| [bk-at]: https://doc.rust-lang.org/book/ch19-03-advanced-traits.html#specifying-placeholder-types-in-trait-definitions-with-associated-types | |
| [rfc-2289]: https://rust-lang.github.io/rfcs/2289-associated-type-bounds.html |