subtypingTransitivity.ts(2,5): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
subtypingTransitivity.ts(6,12): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
subtypingTransitivity.ts(9,12): error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
subtypingTransitivity.ts(16,1): error TS2454: Variable 'd' is used before being assigned.
subtypingTransitivity.ts(17,5): error TS2454: Variable 'd' is used before being assigned.


==== subtypingTransitivity.ts (5 errors) ====
    class B {
        x: Object;
        ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
    }
    
    class D extends B {
        public x: string;
               ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
    }
    class D2 extends B {
        public x: number;
               ~
!!! error TS2564: Property 'x' has no initializer and is not definitely assigned in the constructor.
    }
    
    var b: B;
    var d: D;
    var d2: D2;
    
    d.x = '';
    ~
!!! error TS2454: Variable 'd' is used before being assigned.
    b = d;
        ~
!!! error TS2454: Variable 'd' is used before being assigned.
    b.x = 1; // assigned number to string
    