`impl Trait` types cannot appear nested in the generic arguments of other `impl Trait` types. Erroneous code example: ```compile_fail,E0666 trait MyGenericTrait {} trait MyInnerTrait {} fn foo( bar: impl MyGenericTrait, // error! ) {} ``` Type parameters for `impl Trait` types must be explicitly defined as named generic parameters: ``` trait MyGenericTrait {} trait MyInnerTrait {} fn foo( bar: impl MyGenericTrait, // ok! ) {} ```