E0667 - Error codes index
Description: Book listing all Rust error codes

# Error code E0667

`impl Trait` is not allowed in path parameters.

Erroneous code example:

    #![allow(unused)]
    fn main() {
    fn some_fn(mut x: impl Iterator) -> <impl Iterator>::Item { // error!
        x.next().unwrap()
    }
    }

You cannot use `impl Trait` in path parameters. If you want something equivalent, you can do this instead:

    #![allow(unused)]
    fn main() {
    fn some_fn<T: Iterator>(mut x: T) -> T::Item { // ok!
        x.next().unwrap()
    }
    }