tests/cases/compiler/chainedAssignmentChecking.ts(21,1): error TS2322: Type 'Z' is not assignable to type 'X'.
  Property 'a' is missing in type 'Z'.
tests/cases/compiler/chainedAssignmentChecking.ts(21,6): error TS2322: Type 'Z' is not assignable to type 'Y'.
  Property 'a' is missing in type 'Z'.


==== tests/cases/compiler/chainedAssignmentChecking.ts (2 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; // Should be error
    ~~
!!! error TS2322: Type 'Z' is not assignable to type 'X'.
!!! error TS2322:   Property 'a' is missing in type 'Z'.
         ~~
!!! error TS2322: Type 'Z' is not assignable to type 'Y'.
!!! error TS2322:   Property 'a' is missing in type 'Z'.
    