trait Foo {} trait Bar {} trait Iterable { type Item; } struct Container> { //~^ ERROR `impl Trait` not allowed field: T } enum Enum> { //~^ ERROR `impl Trait` not allowed A(T), } union Union + Copy> { //~^ ERROR `impl Trait` not allowed x: T, } type Type> = T; //~^ ERROR `impl Trait` not allowed fn main() { }