indirectSelfReferenceGeneric.ts(1,7): error TS2506: 'a' is referenced directly or indirectly in its own base expression.
indirectSelfReferenceGeneric.ts(1,20): error TS2449: Class 'b' used before its declaration.
indirectSelfReferenceGeneric.ts(2,7): error TS2506: 'b' is referenced directly or indirectly in its own base expression.


==== indirectSelfReferenceGeneric.ts (3 errors) ====
    class a<T> extends b<T> { }
          ~
!!! error TS2506: 'a' is referenced directly or indirectly in its own base expression.
                       ~
!!! error TS2449: Class 'b' used before its declaration.
!!! related TS2728 indirectSelfReferenceGeneric.ts:2:7: 'b' is declared here.
    class b<T> extends a<T> { }
          ~
!!! error TS2506: 'b' is referenced directly or indirectly in its own base expression.