diff --git a/tests/baselines/reference/arrayConcat2.js b/tests/baselines/reference/arrayConcat2.js index 8db2d62e1d357..3dee150ef1542 100644 --- a/tests/baselines/reference/arrayConcat2.js +++ b/tests/baselines/reference/arrayConcat2.js @@ -6,6 +6,12 @@ a.concat('Hello'); var b = new Array(); b.concat('hello'); + +// #19535 + +const c: number[][] = []; +const [x] = c.concat([1]); +x == 1; //// [arrayConcat2.js] @@ -14,3 +20,7 @@ a.concat("hello", 'world'); a.concat('Hello'); var b = new Array(); b.concat('hello'); +// #19535 +var c = []; +var x = c.concat([1])[0]; +x == 1; diff --git a/tests/baselines/reference/arrayConcat2.symbols b/tests/baselines/reference/arrayConcat2.symbols index 7da42f6dfcb5e..41bd4cf438d50 100644 --- a/tests/baselines/reference/arrayConcat2.symbols +++ b/tests/baselines/reference/arrayConcat2.symbols @@ -21,3 +21,17 @@ b.concat('hello'); >b : Symbol(b, Decl(arrayConcat2.ts, 5, 3)) >concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +// #19535 + +const c: number[][] = []; +>c : Symbol(c, Decl(arrayConcat2.ts, 10, 5)) + +const [x] = c.concat([1]); +>x : Symbol(x, Decl(arrayConcat2.ts, 11, 7)) +>c.concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>c : Symbol(c, Decl(arrayConcat2.ts, 10, 5)) +>concat : Symbol(Array.concat, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) + +x == 1; +>x : Symbol(x, Decl(arrayConcat2.ts, 11, 7)) + diff --git a/tests/baselines/reference/arrayConcat2.types b/tests/baselines/reference/arrayConcat2.types index 6c7a186c23736..b0fa6d9494b91 100644 --- a/tests/baselines/reference/arrayConcat2.types +++ b/tests/baselines/reference/arrayConcat2.types @@ -30,3 +30,23 @@ b.concat('hello'); >concat : { (...items: ConcatArray[]): string[]; )[]>(...items: U): (string | ConcatFlatten)[]; } >'hello' : "hello" +// #19535 + +const c: number[][] = []; +>c : number[][] +>[] : undefined[] + +const [x] = c.concat([1]); +>x : number | number[] +>c.concat([1]) : (number | number[])[] +>c.concat : { (...items: ConcatArray[]): number[][]; )[]>(...items: U): (number[] | ConcatFlatten)[]; } +>c : number[][] +>concat : { (...items: ConcatArray[]): number[][]; )[]>(...items: U): (number[] | ConcatFlatten)[]; } +>[1] : number[] +>1 : 1 + +x == 1; +>x == 1 : boolean +>x : number | number[] +>1 : 1 + diff --git a/tests/cases/compiler/arrayConcat2.ts b/tests/cases/compiler/arrayConcat2.ts index e69730a63a37c..64a1e776ec528 100644 --- a/tests/cases/compiler/arrayConcat2.ts +++ b/tests/cases/compiler/arrayConcat2.ts @@ -5,3 +5,9 @@ a.concat('Hello'); var b = new Array(); b.concat('hello'); + +// #19535 + +const c: number[][] = []; +const [x] = c.concat([1]); +x == 1;