mirror of
https://github.com/swc-project/swc.git
synced 2024-12-26 23:27:56 +03:00
22 lines
665 B
TypeScript
22 lines
665 B
TypeScript
// @strict: true
|
|
// @declaration: true
|
|
|
|
// Repro from #44438
|
|
|
|
declare let a: { a: string };
|
|
declare let b: { a?: string };
|
|
declare let c: { a: string | undefined };
|
|
declare let d: { a?: string | undefined };
|
|
|
|
declare let t: boolean;
|
|
|
|
let a1 = { a: 123, ...a }; // string (Error)
|
|
let b1 = { a: 123, ...b }; // string | number
|
|
let c1 = { a: 123, ...c }; // string | undefined (Error)
|
|
let d1 = { a: 123, ...d }; // string | number
|
|
|
|
let a2 = { a: 123, ...(t ? a : {}) }; // string | number
|
|
let b2 = { a: 123, ...(t ? b : {}) }; // string | number
|
|
let c2 = { a: 123, ...(t ? c : {}) }; // string | number
|
|
let d2 = { a: 123, ...(t ? d : {}) }; // string | number
|