==== tests/cases/conformance/classes/classDeclarations/classHeritageSpecification/classExtendsItselfIndirectly2.ts (2 errors) ==== class C extends N.E { foo: string; } // error ~ !!! Type 'C' recursively references itself as a base type. module M { export class D extends C { bar: string; } } module N { export class E extends M.D { baz: number; } } module O { class C2 extends Q.E2 { foo: T; } // error ~~ !!! Type 'C2' recursively references itself as a base type. module P { export class D2 extends C2 { bar: T; } } module Q { export class E2 extends P.D2 { baz: T; } } }