From be4147ddf33810f304fd97cc6e398bee12ba9350 Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Sun, 23 Jun 2019 09:20:03 -1000 Subject: [PATCH] Accept new baselines --- .../keyofAndIndexedAccess2.errors.txt | 9 ++++++ .../reference/keyofAndIndexedAccess2.js | 16 ++++++++++ .../reference/keyofAndIndexedAccess2.symbols | 23 +++++++++++++ .../reference/keyofAndIndexedAccess2.types | 32 +++++++++++++++++++ 4 files changed, 80 insertions(+) diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt b/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt index ff96efe3e1..b00409544d 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt +++ b/tests/baselines/reference/keyofAndIndexedAccess2.errors.txt @@ -237,4 +237,13 @@ tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(108,5): error TS23 type Baz> = { [K in keyof Q]: T[Q[K]] }; type Qux> = { [K in keyof Q]: T[Q[K]["0"]] }; + + // Repro from #32038 + + const actions = ['resizeTo', 'resizeBy'] as const; + for (const action of actions) { + window[action] = (x, y) => { + window[action](x, y); + } + } \ No newline at end of file diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.js b/tests/baselines/reference/keyofAndIndexedAccess2.js index 91cf2c89ff..a2d7f9b2fd 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.js +++ b/tests/baselines/reference/keyofAndIndexedAccess2.js @@ -156,6 +156,15 @@ type Bar = { [key: string]: { [K in keyof T]: [K] }[keyof T] }; type Baz> = { [K in keyof Q]: T[Q[K]] }; type Qux> = { [K in keyof Q]: T[Q[K]["0"]] }; + +// Repro from #32038 + +const actions = ['resizeTo', 'resizeBy'] as const; +for (const action of actions) { + window[action] = (x, y) => { + window[action](x, y); + } +} //// [keyofAndIndexedAccess2.js] @@ -253,3 +262,10 @@ export class c { this["a"] = "b"; } } +// Repro from #32038 +const actions = ['resizeTo', 'resizeBy']; +for (const action of actions) { + window[action] = (x, y) => { + window[action](x, y); + }; +} diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.symbols b/tests/baselines/reference/keyofAndIndexedAccess2.symbols index 4a7721ff80..58b5f470c0 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.symbols +++ b/tests/baselines/reference/keyofAndIndexedAccess2.symbols @@ -564,3 +564,26 @@ type Qux> = { [K in keyof Q]: T[Q[K]["0"]] }; >Q : Symbol(Q, Decl(keyofAndIndexedAccess2.ts, 156, 11)) >K : Symbol(K, Decl(keyofAndIndexedAccess2.ts, 156, 35)) +// Repro from #32038 + +const actions = ['resizeTo', 'resizeBy'] as const; +>actions : Symbol(actions, Decl(keyofAndIndexedAccess2.ts, 160, 5)) + +for (const action of actions) { +>action : Symbol(action, Decl(keyofAndIndexedAccess2.ts, 161, 10)) +>actions : Symbol(actions, Decl(keyofAndIndexedAccess2.ts, 160, 5)) + + window[action] = (x, y) => { +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>action : Symbol(action, Decl(keyofAndIndexedAccess2.ts, 161, 10)) +>x : Symbol(x, Decl(keyofAndIndexedAccess2.ts, 162, 19)) +>y : Symbol(y, Decl(keyofAndIndexedAccess2.ts, 162, 21)) + + window[action](x, y); +>window : Symbol(window, Decl(lib.dom.d.ts, --, --)) +>action : Symbol(action, Decl(keyofAndIndexedAccess2.ts, 161, 10)) +>x : Symbol(x, Decl(keyofAndIndexedAccess2.ts, 162, 19)) +>y : Symbol(y, Decl(keyofAndIndexedAccess2.ts, 162, 21)) + } +} + diff --git a/tests/baselines/reference/keyofAndIndexedAccess2.types b/tests/baselines/reference/keyofAndIndexedAccess2.types index b282588cc5..5824619c6e 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess2.types +++ b/tests/baselines/reference/keyofAndIndexedAccess2.types @@ -540,3 +540,35 @@ type Baz> = { [K in keyof Q]: T[Q[K]] }; type Qux> = { [K in keyof Q]: T[Q[K]["0"]] }; >Qux : Qux +// Repro from #32038 + +const actions = ['resizeTo', 'resizeBy'] as const; +>actions : readonly ["resizeTo", "resizeBy"] +>['resizeTo', 'resizeBy'] as const : readonly ["resizeTo", "resizeBy"] +>['resizeTo', 'resizeBy'] : readonly ["resizeTo", "resizeBy"] +>'resizeTo' : "resizeTo" +>'resizeBy' : "resizeBy" + +for (const action of actions) { +>action : "resizeTo" | "resizeBy" +>actions : readonly ["resizeTo", "resizeBy"] + + window[action] = (x, y) => { +>window[action] = (x, y) => { window[action](x, y); } : (x: number, y: number) => void +>window[action] : ((x: number, y: number) => void) & ((x: number, y: number) => void) +>window : Window +>action : "resizeTo" | "resizeBy" +>(x, y) => { window[action](x, y); } : (x: number, y: number) => void +>x : number +>y : number + + window[action](x, y); +>window[action](x, y) : void +>window[action] : ((x: number, y: number) => void) | ((x: number, y: number) => void) +>window : Window +>action : "resizeTo" | "resizeBy" +>x : number +>y : number + } +} +