==== tests/cases/compiler/interfaceWithMultipleDeclarations.ts (15 errors) ==== interface I1 { } interface I1 { // Name mismatch ~~ !!! All declarations of an interface must have identical type parameters. } interface I1 { // Length mismatch ~~ !!! All declarations of an interface must have identical type parameters. ~~~~~~~~~~~ !!! Constraint of a type parameter cannot reference any type parameter from the same type parameter list. } interface I1 { // constraint present ~~ !!! All declarations of an interface must have identical type parameters. } interface I1 { // Length mismatch ~~ !!! All declarations of an interface must have identical type parameters. ~~~~~~~~~~~ !!! Constraint of a type parameter cannot reference any type parameter from the same type parameter list. } interface I1 { // Length mismatch ~~ !!! All declarations of an interface must have identical type parameters. } interface I2 { } interface I2 string> { // constraint mismatch ~~ !!! All declarations of an interface must have identical type parameters. } interface I2 { // constraint absent ~~ !!! All declarations of an interface must have identical type parameters. } interface I2 { // name mismatch ~~ !!! All declarations of an interface must have identical type parameters. } interface I2 { // length mismatch ~~ !!! All declarations of an interface must have identical type parameters. } interface I2 { // length mismatch ~~ !!! All declarations of an interface must have identical type parameters. } interface I3 { } interface I3 { // length mismatch ~~ !!! All declarations of an interface must have identical type parameters. } class Foo { } interface I4> { ~~~~~~~~~~~~~~~~ !!! Constraint of a type parameter cannot reference any type parameter from the same type parameter list. } interface I4> { // Should not be error ~~~~~~~~~~~~~~~~ !!! Constraint of a type parameter cannot reference any type parameter from the same type parameter list. }