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