Skip to content

Commit 2d9e8a0

Browse files
committed
Update baselines
1 parent a9a1a13 commit 2d9e8a0

10 files changed

Lines changed: 68 additions & 97 deletions

tests/baselines/reference/api/typescript.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6718,11 +6718,11 @@ declare namespace ts {
67186718
JSLiteral = 4096,
67196719
FreshLiteral = 8192,
67206720
ArrayLiteral = 16384,
6721-
SingleSignatureType = 134217728,
67226721
ClassOrInterface = 3,
67236722
ContainsSpread = 2097152,
67246723
ObjectRestType = 4194304,
67256724
InstantiationExpressionType = 8388608,
6725+
SingleSignatureType = 134217728,
67266726
}
67276727
interface ObjectType extends Type {
67286728
objectFlags: ObjectFlags;

tests/baselines/reference/genericCallInferenceInConditionalTypes1.types

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,8 +103,8 @@ type Result1 = ComponentProps<typeof ComponentWithForwardRef>;
103103

104104
// that could be incorrectly reused by this one
105105
type Result2 = Test<{ component: typeof ComponentWithForwardRef }>; // no `T` leak
106-
>Result2 : Omit<any, "ref"> & { ref?: Ref<HTMLElement> | undefined; }
107-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
106+
>Result2 : PropsWithoutRef<ComponentProps<T>> & { ref?: Ref<HTMLElement> | undefined; }
107+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
108108
>component : <T extends FunctionComponent<any>>(props: PropsWithoutRef<ComponentProps<T>> & { ref?: Ref<HTMLElement> | undefined; }) => unknown
109109
> : ^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
110110
>ComponentWithForwardRef : <T extends FunctionComponent<any>>(props: PropsWithoutRef<ComponentProps<T>> & { ref?: Ref<HTMLElement> | undefined; }) => unknown

tests/baselines/reference/genericCallInferenceUsingThisTypeNoInvalidCacheReuseAfterMappedTypeApplication1.types

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -115,30 +115,30 @@ export declare const outer: ProxyMap<XXX>;
115115
> : ^^^^^^^^^^^^^
116116

117117
export const a = inner.log(100); // Effect<100, never, never>
118-
>a : F<Effect<100, never, never>, this>
119-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
120-
>inner.log(100) : F<Effect<100, never, never>, this>
121-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
122-
>inner.log : <N extends number>(n: N) => F<Effect<N, never, never>, this>
123-
> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
118+
>a : Effect<100, never, never>
119+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
120+
>inner.log(100) : Effect<100, never, never>
121+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
122+
>inner.log : <N extends number>(n: N) => Effect<N, never, never>
123+
> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
124124
>inner : XXX
125125
> : ^^^
126-
>log : <N extends number>(n: N) => F<Effect<N, never, never>, this>
127-
> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
126+
>log : <N extends number>(n: N) => Effect<N, never, never>
127+
> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
128128
>100 : 100
129129
> : ^^^
130130

131131
export const b = outer.log(100); // Effect<100, never, XXX>
132-
>b : F<Effect<100, never, never>, this>
133-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
134-
>outer.log(100) : F<Effect<100, never, never>, this>
135-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
136-
>outer.log : <N extends number>(n: N) => F<Effect<N, never, never>, this>
137-
> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
132+
>b : Effect<100, never, never>
133+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
134+
>outer.log(100) : Effect<100, never, never>
135+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
136+
>outer.log : <N extends number>(n: N) => Effect<N, never, never>
137+
> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
138138
>outer : ProxyMap<XXX>
139139
> : ^^^^^^^^^^^^^
140-
>log : <N extends number>(n: N) => F<Effect<N, never, never>, this>
141-
> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
140+
>log : <N extends number>(n: N) => Effect<N, never, never>
141+
> : ^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
142142
>100 : 100
143143
> : ^^^
144144

tests/baselines/reference/genericCallInferenceWithGenericLocalFunction.types

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -158,10 +158,10 @@ const added3 = addedSome3({ c: true });
158158
> : ^^^^
159159

160160
const addP3_other = withP3({ foo: 'bar' });
161-
>addP3_other : <I>(from: I) => <I2>(from2: I2) => I & I2 & { foo: string; }
162-
> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
163-
>withP3({ foo: 'bar' }) : <I>(from: I) => <I2>(from2: I2) => I & I2 & { foo: string; }
164-
> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
161+
>addP3_other : <I>(from: I) => <I2>(from2: I2) => I & I2 & { a: number; }
162+
> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
163+
>withP3({ foo: 'bar' }) : <I>(from: I) => <I2>(from2: I2) => I & I2 & { a: number; }
164+
> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
165165
>withP3 : <P>(p: P) => <I>(from: I) => <I2>(from2: I2) => I & I2 & P
166166
> : ^ ^^ ^^ ^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^
167167
>{ foo: 'bar' } : { foo: string; }
@@ -172,12 +172,12 @@ const addP3_other = withP3({ foo: 'bar' });
172172
> : ^^^^^
173173

174174
const addedSome3_other = addP3_other({ qwerty: 123 });
175-
>addedSome3_other : <I2>(from2: I2) => { qwerty: number; } & I2 & { foo: string; }
176-
> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
177-
>addP3_other({ qwerty: 123 }) : <I2>(from2: I2) => { qwerty: number; } & I2 & { foo: string; }
178-
> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
179-
>addP3_other : <I>(from: I) => <I2>(from2: I2) => I & I2 & { foo: string; }
180-
> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
175+
>addedSome3_other : <I2>(from2: I2) => { qwerty: number; } & I2 & { a: number; }
176+
> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
177+
>addP3_other({ qwerty: 123 }) : <I2>(from2: I2) => { qwerty: number; } & I2 & { a: number; }
178+
> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
179+
>addP3_other : <I>(from: I) => <I2>(from2: I2) => I & I2 & { a: number; }
180+
> : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
181181
>{ qwerty: 123 } : { qwerty: number; }
182182
> : ^^^^^^^^^^^^^^^^^^^
183183
>qwerty : number
@@ -186,12 +186,12 @@ const addedSome3_other = addP3_other({ qwerty: 123 });
186186
> : ^^^
187187

188188
const added3_other = addedSome3_other({ bazinga: true });
189-
>added3_other : { qwerty: number; } & { bazinga: boolean; } & { foo: string; }
190-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
191-
>addedSome3_other({ bazinga: true }) : { qwerty: number; } & { bazinga: boolean; } & { foo: string; }
192-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
193-
>addedSome3_other : <I2>(from2: I2) => { qwerty: number; } & I2 & { foo: string; }
194-
> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
189+
>added3_other : { qwerty: number; } & { bazinga: boolean; } & { a: number; }
190+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
191+
>addedSome3_other({ bazinga: true }) : { qwerty: number; } & { bazinga: boolean; } & { a: number; }
192+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
193+
>addedSome3_other : <I2>(from2: I2) => { qwerty: number; } & I2 & { a: number; }
194+
> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
195195
>{ bazinga: true } : { bazinga: true; }
196196
> : ^^^^^^^^^^^^^^^^^^
197197
>bazinga : true

tests/baselines/reference/genericFunctionInference1.types

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
=== Performance Stats ===
44
Type Count: 1,000
5-
Instantiation count: 1,000
5+
Instantiation count: 2,500
66

77
=== genericFunctionInference1.ts ===
88
declare function pipe<A extends any[], B>(ab: (...args: A) => B): (...args: A) => B;

tests/baselines/reference/inferencePromiseArrays1.errors.txt

Lines changed: 0 additions & 29 deletions
This file was deleted.

tests/baselines/reference/inferencePromiseArrays1.types

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ const p1 = Promise.resolve([]).then(() => Promise.all([getNum(), getStr()])).the
2020
> : ^^^^^^^^^^^^^
2121
>Promise.resolve([]).then(() => Promise.all([getNum(), getStr()])).then(useTuple) : Promise<void>
2222
> : ^^^^^^^^^^^^^
23-
>Promise.resolve([]).then(() => Promise.all([getNum(), getStr()])).then : <TResult1 = (string | number)[], TResult2 = never>(onfulfilled?: ((value: (string | number)[]) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>
24-
> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
25-
>Promise.resolve([]).then(() => Promise.all([getNum(), getStr()])) : Promise<(string | number)[]>
26-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
23+
>Promise.resolve([]).then(() => Promise.all([getNum(), getStr()])).then : <TResult1 = [number, string], TResult2 = never>(onfulfilled?: ((value: [number, string]) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>
24+
> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
25+
>Promise.resolve([]).then(() => Promise.all([getNum(), getStr()])) : Promise<[number, string]>
26+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
2727
>Promise.resolve([]).then : <TResult1 = never[], TResult2 = never>(onfulfilled?: ((value: never[]) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>
2828
> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2929
>Promise.resolve([]) : Promise<never[]>
@@ -38,18 +38,18 @@ const p1 = Promise.resolve([]).then(() => Promise.all([getNum(), getStr()])).the
3838
> : ^^^^^^^
3939
>then : <TResult1 = never[], TResult2 = never>(onfulfilled?: ((value: never[]) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>
4040
> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
41-
>() => Promise.all([getNum(), getStr()]) : () => Promise<(string | number)[]>
42-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43-
>Promise.all([getNum(), getStr()]) : Promise<(string | number)[]>
44-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
41+
>() => Promise.all([getNum(), getStr()]) : () => Promise<[number, string]>
42+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43+
>Promise.all([getNum(), getStr()]) : Promise<[number, string]>
44+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
4545
>Promise.all : { <T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>; <T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: Awaited<T[P]>; }>; }
4646
> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^
4747
>Promise : PromiseConstructor
4848
> : ^^^^^^^^^^^^^^^^^^
4949
>all : { <T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>; <T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: Awaited<T[P]>; }>; }
5050
> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^
51-
>[getNum(), getStr()] : (Promise<number> | Promise<string>)[]
52-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
51+
>[getNum(), getStr()] : [Promise<number>, Promise<string>]
52+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
5353
>getNum() : Promise<number>
5454
> : ^^^^^^^^^^^^^^^
5555
>getNum : () => Promise<number>
@@ -58,16 +58,16 @@ const p1 = Promise.resolve([]).then(() => Promise.all([getNum(), getStr()])).the
5858
> : ^^^^^^^^^^^^^^^
5959
>getStr : () => Promise<string>
6060
> : ^^^^^^
61-
>then : <TResult1 = (string | number)[], TResult2 = never>(onfulfilled?: ((value: (string | number)[]) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>
62-
> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
61+
>then : <TResult1 = [number, string], TResult2 = never>(onfulfilled?: ((value: [number, string]) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>
62+
> : ^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6363
>useTuple : (tuple: [number, string]) => void
6464
> : ^ ^^ ^^^^^
6565

6666
const p2 = Promise.resolve([]).then(()=> {
67-
>p2 : Promise<(string | number)[]>
68-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
69-
>Promise.resolve([]).then(()=> { return Promise.all([0, ""]);}) : Promise<(string | number)[]>
70-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
67+
>p2 : Promise<[number, string]>
68+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
69+
>Promise.resolve([]).then(()=> { return Promise.all([0, ""]);}) : Promise<[number, string]>
70+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
7171
>Promise.resolve([]).then : <TResult1 = never[], TResult2 = never>(onfulfilled?: ((value: never[]) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>
7272
> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7373
>Promise.resolve([]) : Promise<never[]>
@@ -82,20 +82,20 @@ const p2 = Promise.resolve([]).then(()=> {
8282
> : ^^^^^^^
8383
>then : <TResult1 = never[], TResult2 = never>(onfulfilled?: ((value: never[]) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>
8484
> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
85-
>()=> { return Promise.all([0, ""]);} : () => Promise<(string | number)[]>
86-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
85+
>()=> { return Promise.all([0, ""]);} : () => Promise<[number, string]>
86+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8787

8888
return Promise.all([0, ""]);
89-
>Promise.all([0, ""]) : Promise<(string | number)[]>
90-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
89+
>Promise.all([0, ""]) : Promise<[number, string]>
90+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
9191
>Promise.all : { <T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>; <T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: Awaited<T[P]>; }>; }
9292
> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^
9393
>Promise : PromiseConstructor
9494
> : ^^^^^^^^^^^^^^^^^^
9595
>all : { <T>(values: Iterable<T | PromiseLike<T>>): Promise<Awaited<T>[]>; <T extends readonly unknown[] | []>(values: T): Promise<{ -readonly [P in keyof T]: Awaited<T[P]>; }>; }
9696
> : ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^ ^^ ^^ ^^^ ^^^
97-
>[0, ""] : (string | number)[]
98-
> : ^^^^^^^^^^^^^^^^^^^
97+
>[0, ""] : [number, string]
98+
> : ^^^^^^^^^^^^^^^^
9999
>0 : 0
100100
> : ^
101101
>"" : ""
@@ -105,6 +105,6 @@ const p2 = Promise.resolve([]).then(()=> {
105105
const p3: Promise<[number, string]> = p2;
106106
>p3 : Promise<[number, string]>
107107
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
108-
>p2 : Promise<(string | number)[]>
109-
> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
108+
>p2 : Promise<[number, string]>
109+
> : ^^^^^^^^^^^^^^^^^^^^^^^^^
110110

tests/baselines/reference/nestedGenericSpreadInference.types

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ declare function call<A extends unknown[], T>(x: { x: (...args: A) => T }, ...ar
2222
> : ^
2323

2424
const leak = call(wrap(<T>(x: T) => x), 1);
25-
>leak : unknown
26-
> : ^^^^^^^
27-
>call(wrap(<T>(x: T) => x), 1) : unknown
28-
> : ^^^^^^^
25+
>leak : number
26+
> : ^^^^^^
27+
>call(wrap(<T>(x: T) => x), 1) : number
28+
> : ^^^^^^
2929
>call : <A extends unknown[], T>(x: { x: (...args: A) => T; }, ...args: A) => T
3030
> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^
31-
>wrap(<T>(x: T) => x) : { x: (x: unknown) => unknown; }
32-
> : ^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^
31+
>wrap(<T>(x: T) => x) : { x: (x: A[0]) => A[0]; }
32+
> : ^^^^^^ ^^^^^^^^^^^^^^^^^^
3333
>wrap : <X>(x: X) => { x: X; }
3434
> : ^ ^^ ^^ ^^^^^
3535
><T>(x: T) => x : <T>(x: T) => T

0 commit comments

Comments
 (0)