==== 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 ~~ !!! Type 'Z' is not assignable to type 'X': !!! Property 'a' is missing in type 'Z'. ~~ !!! Type 'Z' is not assignable to type 'Y': !!! Property 'a' is missing in type 'Z'. c2 = c3; // Error TS111: Cannot convert Z to Y ~~ !!! Type 'Z' is not assignable to type 'Y'.