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