instanceSubtypeCheck2.ts(2,5): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
instanceSubtypeCheck2.ts(6,5): error TS2416: Property 'x' in type 'C2<T>' is not assignable to the same property in base type 'C1<T>'.
  Type 'string' is not assignable to type 'C2<T>'.
instanceSubtypeCheck2.ts(6,5): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.


==== instanceSubtypeCheck2.ts (3 errors) ====
    class C1<T> {
        x: C2<T>;
        ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
    }
    
    class C2<T> extends C1<T> {
        x: string
        ~
!!! error TS2416: Property 'x' in type 'C2<T>' is not assignable to the same property in base type 'C1<T>'.
!!! error TS2416:   Type 'string' is not assignable to type 'C2<T>'.
        ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
    }