Closed
Description
The result of a spread operator should not contribute to the excess property checks. only the properties listed in the object literal should be checked. i.e.:
declare var x: { a: number };
var y: { b: number } = { ...x, b: 0 }; // no errors on x, but should be OK
var z: { b: number } = { ...x, b: 0, c: 1 }; // c is excess