## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Error code E0719

An associated type value was specified more than once.

Erroneous code example:

    #![allow(unused)]
    fn main() {
    trait FooTrait {}
    trait BarTrait {}

    // error: associated type `Item` in trait `Iterator` is specified twice
    struct Foo<T: Iterator<Item: FooTrait, Item: BarTrait>> { f: T }
    }

`Item` in trait `Iterator` cannot be specified multiple times for struct `Foo`. To fix this, create a new trait that is a combination of the desired traits and specify the associated type with the new trait.

Corrected example:

    #![allow(unused)]
    fn main() {
    trait FooTrait {}
    trait BarTrait {}
    trait FooBarTrait: FooTrait + BarTrait {}

    struct Foo<T: Iterator<Item: FooBarTrait>> { f: T } // ok!
    }

For more information about associated types, see the book. For more information on associated type bounds, see RFC 2289.