Skip to content

Commit 4ce0d20

Browse files
committed
Accept new baselines
1 parent 3a89fea commit 4ce0d20

File tree

4 files changed

+65
-73
lines changed

4 files changed

+65
-73
lines changed

tests/baselines/reference/keyofAndIndexedAccess2.errors.txt

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,13 @@ tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(108,5): error TS23
188188
!!! error TS2322: Type '123' is not assignable to type '"some string"'.
189189
}
190190

191-
<<<<<<< HEAD
191+
// Repro from #30920
192+
193+
type StrictExtract<T, U> = T extends U ? U extends T ? T : never : never;
194+
type StrictExclude<T, U> = T extends StrictExtract<T, U> ? never : T;
195+
type A<T> = { [Q in { [P in keyof T]: P; }[keyof T]]: T[Q]; };
196+
type B<T, V> = A<{ [Q in keyof T]: StrictExclude<B<T[Q], V>, {}>; }>;
197+
192198
// Repros from #30938
193199

194200
function fn<T extends {elements: Array<string>} | {elements: Array<number>}>(param: T, cb: (element: T['elements'][number]) => void) {
@@ -198,12 +204,4 @@ tests/cases/conformance/types/keyof/keyofAndIndexedAccess2.ts(108,5): error TS23
198204
function fn2<T extends Array<string>>(param: T, cb: (element: T[number]) => void) {
199205
cb(param[0]);
200206
}
201-
=======
202-
// Repro from #30920
203-
204-
type StrictExtract<T, U> = T extends U ? U extends T ? T : never : never;
205-
type StrictExclude<T, U> = T extends StrictExtract<T, U> ? never : T;
206-
type A<T> = { [Q in { [P in keyof T]: P; }[keyof T]]: T[Q]; };
207-
type B<T, V> = A<{ [Q in keyof T]: StrictExclude<B<T[Q], V>, {}>; }>;
208-
>>>>>>> master
209207

tests/baselines/reference/keyofAndIndexedAccess2.js

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,13 @@ function get123<K extends keyof Type>(): Type[K] {
109109
return 123; // Error
110110
}
111111

112-
<<<<<<< HEAD
112+
// Repro from #30920
113+
114+
type StrictExtract<T, U> = T extends U ? U extends T ? T : never : never;
115+
type StrictExclude<T, U> = T extends StrictExtract<T, U> ? never : T;
116+
type A<T> = { [Q in { [P in keyof T]: P; }[keyof T]]: T[Q]; };
117+
type B<T, V> = A<{ [Q in keyof T]: StrictExclude<B<T[Q], V>, {}>; }>;
118+
113119
// Repros from #30938
114120

115121
function fn<T extends {elements: Array<string>} | {elements: Array<number>}>(param: T, cb: (element: T['elements'][number]) => void) {
@@ -119,14 +125,6 @@ function fn<T extends {elements: Array<string>} | {elements: Array<number>}>(par
119125
function fn2<T extends Array<string>>(param: T, cb: (element: T[number]) => void) {
120126
cb(param[0]);
121127
}
122-
=======
123-
// Repro from #30920
124-
125-
type StrictExtract<T, U> = T extends U ? U extends T ? T : never : never;
126-
type StrictExclude<T, U> = T extends StrictExtract<T, U> ? never : T;
127-
type A<T> = { [Q in { [P in keyof T]: P; }[keyof T]]: T[Q]; };
128-
type B<T, V> = A<{ [Q in keyof T]: StrictExclude<B<T[Q], V>, {}>; }>;
129-
>>>>>>> master
130128

131129

132130
//// [keyofAndIndexedAccess2.js]

tests/baselines/reference/keyofAndIndexedAccess2.symbols

Lines changed: 37 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -388,44 +388,6 @@ function get123<K extends keyof Type>(): Type[K] {
388388
return 123; // Error
389389
}
390390

391-
<<<<<<< HEAD
392-
// Repros from #30938
393-
394-
function fn<T extends {elements: Array<string>} | {elements: Array<number>}>(param: T, cb: (element: T['elements'][number]) => void) {
395-
>fn : Symbol(fn, Decl(keyofAndIndexedAccess2.ts, 108, 1))
396-
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 112, 12))
397-
>elements : Symbol(elements, Decl(keyofAndIndexedAccess2.ts, 112, 23))
398-
>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 2 more)
399-
>elements : Symbol(elements, Decl(keyofAndIndexedAccess2.ts, 112, 51))
400-
>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 2 more)
401-
>param : Symbol(param, Decl(keyofAndIndexedAccess2.ts, 112, 77))
402-
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 112, 12))
403-
>cb : Symbol(cb, Decl(keyofAndIndexedAccess2.ts, 112, 86))
404-
>element : Symbol(element, Decl(keyofAndIndexedAccess2.ts, 112, 92))
405-
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 112, 12))
406-
407-
cb(param.elements[0]);
408-
>cb : Symbol(cb, Decl(keyofAndIndexedAccess2.ts, 112, 86))
409-
>param.elements : Symbol(elements, Decl(keyofAndIndexedAccess2.ts, 112, 23), Decl(keyofAndIndexedAccess2.ts, 112, 51))
410-
>param : Symbol(param, Decl(keyofAndIndexedAccess2.ts, 112, 77))
411-
>elements : Symbol(elements, Decl(keyofAndIndexedAccess2.ts, 112, 23), Decl(keyofAndIndexedAccess2.ts, 112, 51))
412-
}
413-
414-
function fn2<T extends Array<string>>(param: T, cb: (element: T[number]) => void) {
415-
>fn2 : Symbol(fn2, Decl(keyofAndIndexedAccess2.ts, 114, 1))
416-
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 116, 13))
417-
>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 2 more)
418-
>param : Symbol(param, Decl(keyofAndIndexedAccess2.ts, 116, 38))
419-
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 116, 13))
420-
>cb : Symbol(cb, Decl(keyofAndIndexedAccess2.ts, 116, 47))
421-
>element : Symbol(element, Decl(keyofAndIndexedAccess2.ts, 116, 53))
422-
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 116, 13))
423-
424-
cb(param[0]);
425-
>cb : Symbol(cb, Decl(keyofAndIndexedAccess2.ts, 116, 47))
426-
>param : Symbol(param, Decl(keyofAndIndexedAccess2.ts, 116, 38))
427-
}
428-
=======
429391
// Repro from #30920
430392

431393
type StrictExtract<T, U> = T extends U ? U extends T ? T : never : never;
@@ -471,5 +433,41 @@ type B<T, V> = A<{ [Q in keyof T]: StrictExclude<B<T[Q], V>, {}>; }>;
471433
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 115, 7))
472434
>Q : Symbol(Q, Decl(keyofAndIndexedAccess2.ts, 115, 20))
473435
>V : Symbol(V, Decl(keyofAndIndexedAccess2.ts, 115, 9))
474-
>>>>>>> master
436+
437+
// Repros from #30938
438+
439+
function fn<T extends {elements: Array<string>} | {elements: Array<number>}>(param: T, cb: (element: T['elements'][number]) => void) {
440+
>fn : Symbol(fn, Decl(keyofAndIndexedAccess2.ts, 115, 69))
441+
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 119, 12))
442+
>elements : Symbol(elements, Decl(keyofAndIndexedAccess2.ts, 119, 23))
443+
>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 2 more)
444+
>elements : Symbol(elements, Decl(keyofAndIndexedAccess2.ts, 119, 51))
445+
>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 2 more)
446+
>param : Symbol(param, Decl(keyofAndIndexedAccess2.ts, 119, 77))
447+
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 119, 12))
448+
>cb : Symbol(cb, Decl(keyofAndIndexedAccess2.ts, 119, 86))
449+
>element : Symbol(element, Decl(keyofAndIndexedAccess2.ts, 119, 92))
450+
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 119, 12))
451+
452+
cb(param.elements[0]);
453+
>cb : Symbol(cb, Decl(keyofAndIndexedAccess2.ts, 119, 86))
454+
>param.elements : Symbol(elements, Decl(keyofAndIndexedAccess2.ts, 119, 23), Decl(keyofAndIndexedAccess2.ts, 119, 51))
455+
>param : Symbol(param, Decl(keyofAndIndexedAccess2.ts, 119, 77))
456+
>elements : Symbol(elements, Decl(keyofAndIndexedAccess2.ts, 119, 23), Decl(keyofAndIndexedAccess2.ts, 119, 51))
457+
}
458+
459+
function fn2<T extends Array<string>>(param: T, cb: (element: T[number]) => void) {
460+
>fn2 : Symbol(fn2, Decl(keyofAndIndexedAccess2.ts, 121, 1))
461+
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 123, 13))
462+
>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 2 more)
463+
>param : Symbol(param, Decl(keyofAndIndexedAccess2.ts, 123, 38))
464+
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 123, 13))
465+
>cb : Symbol(cb, Decl(keyofAndIndexedAccess2.ts, 123, 47))
466+
>element : Symbol(element, Decl(keyofAndIndexedAccess2.ts, 123, 53))
467+
>T : Symbol(T, Decl(keyofAndIndexedAccess2.ts, 123, 13))
468+
469+
cb(param[0]);
470+
>cb : Symbol(cb, Decl(keyofAndIndexedAccess2.ts, 123, 47))
471+
>param : Symbol(param, Decl(keyofAndIndexedAccess2.ts, 123, 38))
472+
}
475473

tests/baselines/reference/keyofAndIndexedAccess2.types

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,20 @@ function get123<K extends keyof Type>(): Type[K] {
423423
>123 : 123
424424
}
425425

426-
<<<<<<< HEAD
426+
// Repro from #30920
427+
428+
type StrictExtract<T, U> = T extends U ? U extends T ? T : never : never;
429+
>StrictExtract : StrictExtract<T, U>
430+
431+
type StrictExclude<T, U> = T extends StrictExtract<T, U> ? never : T;
432+
>StrictExclude : StrictExclude<T, U>
433+
434+
type A<T> = { [Q in { [P in keyof T]: P; }[keyof T]]: T[Q]; };
435+
>A : A<T>
436+
437+
type B<T, V> = A<{ [Q in keyof T]: StrictExclude<B<T[Q], V>, {}>; }>;
438+
>B : A<{ [Q in keyof T]: StrictExclude<A<{ [Q in keyof T[Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q][Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q][Q][Q][Q][Q][Q]]: StrictExclude<A<any>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>
439+
427440
// Repros from #30938
428441

429442
function fn<T extends {elements: Array<string>} | {elements: Array<number>}>(param: T, cb: (element: T['elements'][number]) => void) {
@@ -457,19 +470,4 @@ function fn2<T extends Array<string>>(param: T, cb: (element: T[number]) => void
457470
>param : T
458471
>0 : 0
459472
}
460-
=======
461-
// Repro from #30920
462-
463-
type StrictExtract<T, U> = T extends U ? U extends T ? T : never : never;
464-
>StrictExtract : StrictExtract<T, U>
465-
466-
type StrictExclude<T, U> = T extends StrictExtract<T, U> ? never : T;
467-
>StrictExclude : StrictExclude<T, U>
468-
469-
type A<T> = { [Q in { [P in keyof T]: P; }[keyof T]]: T[Q]; };
470-
>A : A<T>
471-
472-
type B<T, V> = A<{ [Q in keyof T]: StrictExclude<B<T[Q], V>, {}>; }>;
473-
>B : A<{ [Q in keyof T]: StrictExclude<A<{ [Q in keyof T[Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q][Q][Q][Q][Q]]: StrictExclude<A<{ [Q in keyof T[Q][Q][Q][Q][Q][Q][Q][Q][Q][Q]]: StrictExclude<A<any>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>, {}>; }>
474-
>>>>>>> master
475473

0 commit comments

Comments
 (0)