==== tests/cases/compiler/chainedAssignment1.ts (3 errors) ====
    class X {
        constructor(public z) { }
        a: number;
    }
    
    class Y {
        constructor(public z) {
        }
        a: number;
        b: string;
    }
    
    class Z {
        z: any;
        c: string;
    }
    
    var c1 = new X(3);
    var c2 = new Y(5);
    var c3 = new Z();
    c1 = c2 = c3; // a bug made this not report the same error as below
    ~~
!!! chainedAssignment1.ts(21,1): error TS2012: Cannot convert 'Z' to 'X':
!!! 	Type 'Z' is missing property 'a' from type 'X'.
         ~~
!!! chainedAssignment1.ts(21,6): error TS2012: Cannot convert 'Z' to 'Y':
!!! 	Type 'Z' is missing property 'a' from type 'Y'.
    c2 = c3; // Error TS111: Cannot convert Z to Y
    ~~
!!! chainedAssignment1.ts(22,1): error TS2012: Cannot convert 'Z' to 'Y':
!!! 	Type 'Z' is missing property 'a' from type 'Y'.