diff --git a/tests/baselines/reference/destructuringWithLiteralInitializers.js b/tests/baselines/reference/destructuringWithLiteralInitializers.js index 640b5a37756..740648b04e8 100644 --- a/tests/baselines/reference/destructuringWithLiteralInitializers.js +++ b/tests/baselines/reference/destructuringWithLiteralInitializers.js @@ -50,15 +50,20 @@ g1([1, 1]); function g2([x = 0, y = 0]) { } g2([1, 1]); -// (arg?: [any, any]) => void -function g3([x, y] = []) { } +// (arg?: [number, number]) => void +function g3([x, y] = [0, 0]) { } g3(); g3([1, 1]); // (arg?: [number, number]) => void -function g4([x, y] = [0, 0]) { } +function g4([x, y = 0] = [0]) { } g4(); g4([1, 1]); + +// (arg?: [number, number]) => void +function g5([x = 0, y = 0] = []) { } +g5(); +g5([1, 1]); //// [destructuringWithLiteralInitializers.js] @@ -122,15 +127,21 @@ function g2(_a) { var _b = _a[0], x = _b === void 0 ? 0 : _b, _c = _a[1], y = _c === void 0 ? 0 : _c; } g2([1, 1]); -// (arg?: [any, any]) => void +// (arg?: [number, number]) => void function g3(_a) { - var _b = _a === void 0 ? [] : _a, x = _b[0], y = _b[1]; + var _b = _a === void 0 ? [0, 0] : _a, x = _b[0], y = _b[1]; } g3(); g3([1, 1]); // (arg?: [number, number]) => void function g4(_a) { - var _b = _a === void 0 ? [0, 0] : _a, x = _b[0], y = _b[1]; + var _b = _a === void 0 ? [0] : _a, x = _b[0], _c = _b[1], y = _c === void 0 ? 0 : _c; } g4(); g4([1, 1]); +// (arg?: [number, number]) => void +function g5(_a) { + var _b = _a === void 0 ? [] : _a, _c = _b[0], x = _c === void 0 ? 0 : _c, _d = _b[1], y = _d === void 0 ? 0 : _d; +} +g5(); +g5([1, 1]); diff --git a/tests/baselines/reference/destructuringWithLiteralInitializers.symbols b/tests/baselines/reference/destructuringWithLiteralInitializers.symbols index fc8c7a2f621..1141fc140c7 100644 --- a/tests/baselines/reference/destructuringWithLiteralInitializers.symbols +++ b/tests/baselines/reference/destructuringWithLiteralInitializers.symbols @@ -156,8 +156,8 @@ function g2([x = 0, y = 0]) { } g2([1, 1]); >g2 : Symbol(g2, Decl(destructuringWithLiteralInitializers.ts, 45, 11)) -// (arg?: [any, any]) => void -function g3([x, y] = []) { } +// (arg?: [number, number]) => void +function g3([x, y] = [0, 0]) { } >g3 : Symbol(g3, Decl(destructuringWithLiteralInitializers.ts, 49, 11)) >x : Symbol(x, Decl(destructuringWithLiteralInitializers.ts, 52, 13)) >y : Symbol(y, Decl(destructuringWithLiteralInitializers.ts, 52, 15)) @@ -169,7 +169,7 @@ g3([1, 1]); >g3 : Symbol(g3, Decl(destructuringWithLiteralInitializers.ts, 49, 11)) // (arg?: [number, number]) => void -function g4([x, y] = [0, 0]) { } +function g4([x, y = 0] = [0]) { } >g4 : Symbol(g4, Decl(destructuringWithLiteralInitializers.ts, 54, 11)) >x : Symbol(x, Decl(destructuringWithLiteralInitializers.ts, 57, 13)) >y : Symbol(y, Decl(destructuringWithLiteralInitializers.ts, 57, 15)) @@ -180,3 +180,15 @@ g4(); g4([1, 1]); >g4 : Symbol(g4, Decl(destructuringWithLiteralInitializers.ts, 54, 11)) +// (arg?: [number, number]) => void +function g5([x = 0, y = 0] = []) { } +>g5 : Symbol(g5, Decl(destructuringWithLiteralInitializers.ts, 59, 11)) +>x : Symbol(x, Decl(destructuringWithLiteralInitializers.ts, 62, 13)) +>y : Symbol(y, Decl(destructuringWithLiteralInitializers.ts, 62, 19)) + +g5(); +>g5 : Symbol(g5, Decl(destructuringWithLiteralInitializers.ts, 59, 11)) + +g5([1, 1]); +>g5 : Symbol(g5, Decl(destructuringWithLiteralInitializers.ts, 59, 11)) + diff --git a/tests/baselines/reference/destructuringWithLiteralInitializers.types b/tests/baselines/reference/destructuringWithLiteralInitializers.types index 97c07bc281d..da1e4bfd6f3 100644 --- a/tests/baselines/reference/destructuringWithLiteralInitializers.types +++ b/tests/baselines/reference/destructuringWithLiteralInitializers.types @@ -248,40 +248,62 @@ g2([1, 1]); >1 : number >1 : number -// (arg?: [any, any]) => void -function g3([x, y] = []) { } ->g3 : ([x, y]?: [any, any]) => void ->x : any ->y : any ->[] : [undefined, undefined] - -g3(); ->g3() : void ->g3 : ([x, y]?: [any, any]) => void - -g3([1, 1]); ->g3([1, 1]) : void ->g3 : ([x, y]?: [any, any]) => void ->[1, 1] : [number, number] ->1 : number ->1 : number - // (arg?: [number, number]) => void -function g4([x, y] = [0, 0]) { } ->g4 : ([x, y]?: [number, number]) => void +function g3([x, y] = [0, 0]) { } +>g3 : ([x, y]?: [number, number]) => void >x : number >y : number >[0, 0] : [number, number] >0 : number >0 : number -g4(); ->g4() : void ->g4 : ([x, y]?: [number, number]) => void +g3(); +>g3() : void +>g3 : ([x, y]?: [number, number]) => void -g4([1, 1]); ->g4([1, 1]) : void ->g4 : ([x, y]?: [number, number]) => void +g3([1, 1]); +>g3([1, 1]) : void +>g3 : ([x, y]?: [number, number]) => void +>[1, 1] : [number, number] +>1 : number +>1 : number + +// (arg?: [number, number]) => void +function g4([x, y = 0] = [0]) { } +>g4 : ([x, y = 0]?: [number, number]) => void +>x : number +>y : number +>0 : number +>[0] : [number, number] +>0 : number + +g4(); +>g4() : void +>g4 : ([x, y = 0]?: [number, number]) => void + +g4([1, 1]); +>g4([1, 1]) : void +>g4 : ([x, y = 0]?: [number, number]) => void +>[1, 1] : [number, number] +>1 : number +>1 : number + +// (arg?: [number, number]) => void +function g5([x = 0, y = 0] = []) { } +>g5 : ([x = 0, y = 0]?: [number, number]) => void +>x : number +>0 : number +>y : number +>0 : number +>[] : [number, number] + +g5(); +>g5() : void +>g5 : ([x = 0, y = 0]?: [number, number]) => void + +g5([1, 1]); +>g5([1, 1]) : void +>g5 : ([x = 0, y = 0]?: [number, number]) => void >[1, 1] : [number, number] >1 : number >1 : number diff --git a/tests/cases/conformance/es6/destructuring/destructuringWithLiteralInitializers.ts b/tests/cases/conformance/es6/destructuring/destructuringWithLiteralInitializers.ts index dd3a0ae28a6..17de6dd2858 100644 --- a/tests/cases/conformance/es6/destructuring/destructuringWithLiteralInitializers.ts +++ b/tests/cases/conformance/es6/destructuring/destructuringWithLiteralInitializers.ts @@ -49,12 +49,17 @@ g1([1, 1]); function g2([x = 0, y = 0]) { } g2([1, 1]); -// (arg?: [any, any]) => void -function g3([x, y] = []) { } +// (arg?: [number, number]) => void +function g3([x, y] = [0, 0]) { } g3(); g3([1, 1]); // (arg?: [number, number]) => void -function g4([x, y] = [0, 0]) { } +function g4([x, y = 0] = [0]) { } g4(); g4([1, 1]); + +// (arg?: [number, number]) => void +function g5([x = 0, y = 0] = []) { } +g5(); +g5([1, 1]);