bd7d0f26b2
* Add test * Don’t allow an object literal with a spread as a fallback for destructuring a property not present in all constituents
19 lines
741 B
Plaintext
19 lines
741 B
Plaintext
=== tests/cases/compiler/destructuringFromUnionSpread.ts ===
|
|
interface A { a: string }
|
|
>A : Symbol(A, Decl(destructuringFromUnionSpread.ts, 0, 0))
|
|
>a : Symbol(A.a, Decl(destructuringFromUnionSpread.ts, 0, 13))
|
|
|
|
interface B { b: number }
|
|
>B : Symbol(B, Decl(destructuringFromUnionSpread.ts, 0, 25))
|
|
>b : Symbol(B.b, Decl(destructuringFromUnionSpread.ts, 1, 13))
|
|
|
|
declare const x: A | B;
|
|
>x : Symbol(x, Decl(destructuringFromUnionSpread.ts, 3, 13))
|
|
>A : Symbol(A, Decl(destructuringFromUnionSpread.ts, 0, 0))
|
|
>B : Symbol(B, Decl(destructuringFromUnionSpread.ts, 0, 25))
|
|
|
|
const { a } = { ...x } // error
|
|
>a : Symbol(a, Decl(destructuringFromUnionSpread.ts, 4, 7))
|
|
>x : Symbol(x, Decl(destructuringFromUnionSpread.ts, 3, 13))
|
|
|