This vastly improves our error tolerance and messages for when the user writes an illegal heritage clause sequence.
28 lines
No EOL
1.4 KiB
Text
28 lines
No EOL
1.4 KiB
Text
tests/cases/conformance/interfaces/interfaceDeclarations/interfaceThatInheritsFromItself.ts(10,15): error TS1176: Interface declaration cannot have 'implements' clause.
|
|
tests/cases/conformance/interfaces/interfaceDeclarations/interfaceThatInheritsFromItself.ts(1,11): error TS2310: Type 'Foo' recursively references itself as a base type.
|
|
tests/cases/conformance/interfaces/interfaceDeclarations/interfaceThatInheritsFromItself.ts(4,11): error TS2310: Type 'Foo2<T>' recursively references itself as a base type.
|
|
tests/cases/conformance/interfaces/interfaceDeclarations/interfaceThatInheritsFromItself.ts(7,11): error TS2310: Type 'Foo3<T>' recursively references itself as a base type.
|
|
|
|
|
|
==== tests/cases/conformance/interfaces/interfaceDeclarations/interfaceThatInheritsFromItself.ts (4 errors) ====
|
|
interface Foo extends Foo { // error
|
|
~~~
|
|
!!! error TS2310: Type 'Foo' recursively references itself as a base type.
|
|
}
|
|
|
|
interface Foo2<T> extends Foo2<T> { // error
|
|
~~~~
|
|
!!! error TS2310: Type 'Foo2<T>' recursively references itself as a base type.
|
|
}
|
|
|
|
interface Foo3<T> extends Foo3<string> { // error
|
|
~~~~
|
|
!!! error TS2310: Type 'Foo3<T>' recursively references itself as a base type.
|
|
}
|
|
|
|
interface Bar implements Bar { // error
|
|
~~~~~~~~~~
|
|
!!! error TS1176: Interface declaration cannot have 'implements' clause.
|
|
}
|
|
|
|
|