tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts(1,7): error TS2310: Type 'C' recursively references itself as a base type. tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts(7,7): error TS2310: Type 'C2' recursively references itself as a base type. ==== tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly.ts (2 errors) ==== class C extends E { foo: string; } // error ~ !!! error TS2310: Type 'C' recursively references itself as a base type. class D extends C { bar: string; } class E extends D { baz: number; } class C2 extends E2 { foo: T; } // error ~~ !!! error TS2310: Type 'C2' recursively references itself as a base type. class D2 extends C2 { bar: T; } class E2 extends D2 { baz: T; }