2014-07-13 01:04:16 +02:00
|
|
|
==== tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts (2 errors) ====
|
|
|
|
class C extends E { foo: string; } // error
|
2014-07-19 02:30:06 +02:00
|
|
|
~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2310: Type 'C' recursively references itself as a base type.
|
2014-07-13 01:04:16 +02:00
|
|
|
|
|
|
|
class D extends C { bar: string; }
|
|
|
|
|
|
|
|
class E extends D { baz: number; }
|
|
|
|
|
|
|
|
class C2<T> extends E2<T> { foo: T; } // error
|
2014-07-19 02:30:06 +02:00
|
|
|
~~
|
2014-09-12 00:19:57 +02:00
|
|
|
!!! error TS2310: Type 'C2<T>' recursively references itself as a base type.
|
2014-07-13 01:04:16 +02:00
|
|
|
|
|
|
|
class D2<T> extends C2<T> { bar: T; }
|
|
|
|
|
|
|
|
class E2<T> extends D2<T> { baz: T; }
|