class A [a, a] { } // E: duplicate type parameter `a' class B [x] { class C [x] { // E: type parameter `x' has the same name as type parameter from the outer type `B' } } enum E [X] { // E: enums cannot have generic type parameters | A | B }