2014-07-13 01:04:16 +02:00
|
|
|
==== tests/cases/conformance/interfaces/interfaceDeclarations/interfaceThatIndirectlyInheritsFromItself.ts (2 errors) ====
|
|
|
|
interface Base extends Derived2 { // error
|
2014-07-19 02:30:06 +02:00
|
|
|
~~~~
|
|
|
|
!!! Type 'Base' recursively references itself as a base type.
|
2014-07-13 01:04:16 +02:00
|
|
|
x: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
interface Derived extends Base {
|
|
|
|
y: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
interface Derived2 extends Derived {
|
|
|
|
z: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
module Generic {
|
|
|
|
interface Base<T> extends Derived2<T> { // error
|
2014-07-19 02:30:06 +02:00
|
|
|
~~~~
|
|
|
|
!!! Type 'Base<T>' recursively references itself as a base type.
|
2014-07-13 01:04:16 +02:00
|
|
|
x: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
interface Derived<T> extends Base<T> {
|
|
|
|
y: string;
|
|
|
|
}
|
|
|
|
|
|
|
|
interface Derived2<T> extends Derived<T> {
|
|
|
|
z: string;
|
|
|
|
}
|
|
|
|
}
|