@@ -60,21 +60,21 @@ type T12 = Awaited<Promise<Promise<number>>>;
6060
6161type T13 = _Expect<Awaited<Promise<Promise<number>> | string | null>, /*expected*/ string | number | null>; // otherwise just prints T13 in types tests, which isn't very helpful
6262>T13 : Symbol(T13, Decl(awaitedTypeStrictNull.ts, 11, 45))
63- >_Expect : Symbol(_Expect, Decl(awaitedTypeStrictNull.ts, 54 , 1))
63+ >_Expect : Symbol(_Expect, Decl(awaitedTypeStrictNull.ts, 57 , 1))
6464>Awaited : Symbol(Awaited, Decl(lib.es5.d.ts, --, --))
6565>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
6666>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
6767
6868type T14 = _Expect<Awaited<Promise<Promise<number>> | string | undefined>, /*expected*/ string | number | undefined>; // otherwise just prints T14 in types tests, which isn't very helpful
6969>T14 : Symbol(T14, Decl(awaitedTypeStrictNull.ts, 12, 107))
70- >_Expect : Symbol(_Expect, Decl(awaitedTypeStrictNull.ts, 54 , 1))
70+ >_Expect : Symbol(_Expect, Decl(awaitedTypeStrictNull.ts, 57 , 1))
7171>Awaited : Symbol(Awaited, Decl(lib.es5.d.ts, --, --))
7272>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
7373>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
7474
7575type T15 = _Expect<Awaited<Promise<Promise<number>> | string | null | undefined>, /*expected*/ string | number | null | undefined>; // otherwise just prints T15 in types tests, which isn't very helpful
7676>T15 : Symbol(T15, Decl(awaitedTypeStrictNull.ts, 13, 117))
77- >_Expect : Symbol(_Expect, Decl(awaitedTypeStrictNull.ts, 54 , 1))
77+ >_Expect : Symbol(_Expect, Decl(awaitedTypeStrictNull.ts, 57 , 1))
7878>Awaited : Symbol(Awaited, Decl(lib.es5.d.ts, --, --))
7979>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
8080>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
@@ -110,111 +110,120 @@ type T17 = Awaited<BadPromise1>; // error
110110>Awaited : Symbol(Awaited, Decl(lib.es5.d.ts, --, --))
111111>BadPromise1 : Symbol(BadPromise1, Decl(awaitedTypeStrictNull.ts, 17, 31))
112112
113+ // https://github.com/microsoft/TypeScript/issues/46934
114+ type T18 = Awaited<{ then(cb: (value: number, other: { }) => void)}>; // number
115+ >T18 : Symbol(T18, Decl(awaitedTypeStrictNull.ts, 21, 32))
116+ >Awaited : Symbol(Awaited, Decl(lib.es5.d.ts, --, --))
117+ >then : Symbol(then, Decl(awaitedTypeStrictNull.ts, 24, 20))
118+ >cb : Symbol(cb, Decl(awaitedTypeStrictNull.ts, 24, 26))
119+ >value : Symbol(value, Decl(awaitedTypeStrictNull.ts, 24, 31))
120+ >other : Symbol(other, Decl(awaitedTypeStrictNull.ts, 24, 45))
121+
113122// https://github.com/microsoft/TypeScript/issues/33562
114123type MaybePromise<T> = T | Promise<T> | PromiseLike<T>
115- >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 24 , 54), Decl(awaitedTypeStrictNull.ts, 21, 32 ))
116- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 24 , 18))
117- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 24 , 18))
124+ >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 27 , 54), Decl(awaitedTypeStrictNull.ts, 24, 69 ))
125+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 27 , 18))
126+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 27 , 18))
118127>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
119- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 24 , 18))
128+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 27 , 18))
120129>PromiseLike : Symbol(PromiseLike, Decl(lib.es5.d.ts, --, --))
121- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 24 , 18))
130+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 27 , 18))
122131
123132declare function MaybePromise<T>(value: T): MaybePromise<T>;
124- >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 24 , 54), Decl(awaitedTypeStrictNull.ts, 21, 32 ))
125- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 25 , 30))
126- >value : Symbol(value, Decl(awaitedTypeStrictNull.ts, 25 , 33))
127- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 25 , 30))
128- >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 24 , 54), Decl(awaitedTypeStrictNull.ts, 21, 32 ))
129- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 25 , 30))
133+ >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 27 , 54), Decl(awaitedTypeStrictNull.ts, 24, 69 ))
134+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 28 , 30))
135+ >value : Symbol(value, Decl(awaitedTypeStrictNull.ts, 28 , 33))
136+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 28 , 30))
137+ >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 27 , 54), Decl(awaitedTypeStrictNull.ts, 24, 69 ))
138+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 28 , 30))
130139
131140async function main() {
132- >main : Symbol(main, Decl(awaitedTypeStrictNull.ts, 25 , 60))
141+ >main : Symbol(main, Decl(awaitedTypeStrictNull.ts, 28 , 60))
133142
134143 let aaa: number;
135- >aaa : Symbol(aaa, Decl(awaitedTypeStrictNull.ts, 28 , 7))
144+ >aaa : Symbol(aaa, Decl(awaitedTypeStrictNull.ts, 31 , 7))
136145
137146 let bbb: string;
138- >bbb : Symbol(bbb, Decl(awaitedTypeStrictNull.ts, 29 , 7))
147+ >bbb : Symbol(bbb, Decl(awaitedTypeStrictNull.ts, 32 , 7))
139148
140149 [
141150 aaa,
142- >aaa : Symbol(aaa, Decl(awaitedTypeStrictNull.ts, 28 , 7))
151+ >aaa : Symbol(aaa, Decl(awaitedTypeStrictNull.ts, 31 , 7))
143152
144153 bbb,
145- >bbb : Symbol(bbb, Decl(awaitedTypeStrictNull.ts, 29 , 7))
154+ >bbb : Symbol(bbb, Decl(awaitedTypeStrictNull.ts, 32 , 7))
146155
147156 ] = await Promise.all([
148157>Promise.all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
149158>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
150159>all : Symbol(PromiseConstructor.all, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
151160
152161 MaybePromise(1),
153- >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 24 , 54), Decl(awaitedTypeStrictNull.ts, 21, 32 ))
162+ >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 27 , 54), Decl(awaitedTypeStrictNull.ts, 24, 69 ))
154163
155164 MaybePromise('2'),
156- >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 24 , 54), Decl(awaitedTypeStrictNull.ts, 21, 32 ))
165+ >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 27 , 54), Decl(awaitedTypeStrictNull.ts, 24, 69 ))
157166
158167 MaybePromise(true),
159- >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 24 , 54), Decl(awaitedTypeStrictNull.ts, 21, 32 ))
168+ >MaybePromise : Symbol(MaybePromise, Decl(awaitedTypeStrictNull.ts, 27 , 54), Decl(awaitedTypeStrictNull.ts, 24, 69 ))
160169
161170 ])
162171}
163172
164173// https://github.com/microsoft/TypeScript/issues/45924
165174class Api<D = {}> {
166- >Api : Symbol(Api, Decl(awaitedTypeStrictNull.ts, 38 , 1))
167- >D : Symbol(D, Decl(awaitedTypeStrictNull.ts, 41 , 10))
175+ >Api : Symbol(Api, Decl(awaitedTypeStrictNull.ts, 41 , 1))
176+ >D : Symbol(D, Decl(awaitedTypeStrictNull.ts, 44 , 10))
168177
169178 // Should result in `Promise<T>` instead of `Promise<Awaited<T>>`.
170179 async post<T = D>() { return this.request<T>(); }
171- >post : Symbol(Api.post, Decl(awaitedTypeStrictNull.ts, 41 , 19))
172- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 43 , 12))
173- >D : Symbol(D, Decl(awaitedTypeStrictNull.ts, 41 , 10))
174- >this.request : Symbol(Api.request, Decl(awaitedTypeStrictNull.ts, 43 , 50))
175- >this : Symbol(Api, Decl(awaitedTypeStrictNull.ts, 38 , 1))
176- >request : Symbol(Api.request, Decl(awaitedTypeStrictNull.ts, 43 , 50))
177- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 43 , 12))
180+ >post : Symbol(Api.post, Decl(awaitedTypeStrictNull.ts, 44 , 19))
181+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 46 , 12))
182+ >D : Symbol(D, Decl(awaitedTypeStrictNull.ts, 44 , 10))
183+ >this.request : Symbol(Api.request, Decl(awaitedTypeStrictNull.ts, 46 , 50))
184+ >this : Symbol(Api, Decl(awaitedTypeStrictNull.ts, 41 , 1))
185+ >request : Symbol(Api.request, Decl(awaitedTypeStrictNull.ts, 46 , 50))
186+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 46 , 12))
178187
179188 async request<D>(): Promise<D> { throw new Error(); }
180- >request : Symbol(Api.request, Decl(awaitedTypeStrictNull.ts, 43 , 50))
181- >D : Symbol(D, Decl(awaitedTypeStrictNull.ts, 44 , 15))
189+ >request : Symbol(Api.request, Decl(awaitedTypeStrictNull.ts, 46 , 50))
190+ >D : Symbol(D, Decl(awaitedTypeStrictNull.ts, 47 , 15))
182191>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
183- >D : Symbol(D, Decl(awaitedTypeStrictNull.ts, 44 , 15))
192+ >D : Symbol(D, Decl(awaitedTypeStrictNull.ts, 47 , 15))
184193>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
185194}
186195
187196declare const api: Api;
188- >api : Symbol(api, Decl(awaitedTypeStrictNull.ts, 47 , 13))
189- >Api : Symbol(Api, Decl(awaitedTypeStrictNull.ts, 38 , 1))
197+ >api : Symbol(api, Decl(awaitedTypeStrictNull.ts, 50 , 13))
198+ >Api : Symbol(Api, Decl(awaitedTypeStrictNull.ts, 41 , 1))
190199
191200interface Obj { x: number }
192- >Obj : Symbol(Obj, Decl(awaitedTypeStrictNull.ts, 47 , 23))
193- >x : Symbol(Obj.x, Decl(awaitedTypeStrictNull.ts, 48 , 15))
201+ >Obj : Symbol(Obj, Decl(awaitedTypeStrictNull.ts, 50 , 23))
202+ >x : Symbol(Obj.x, Decl(awaitedTypeStrictNull.ts, 51 , 15))
194203
195204async function fn<T>(): Promise<T extends object ? { [K in keyof T]: Obj } : Obj> {
196- >fn : Symbol(fn, Decl(awaitedTypeStrictNull.ts, 48 , 27))
197- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 50 , 18))
205+ >fn : Symbol(fn, Decl(awaitedTypeStrictNull.ts, 51 , 27))
206+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 53 , 18))
198207>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.promise.d.ts, --, --))
199- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 50 , 18))
200- >K : Symbol(K, Decl(awaitedTypeStrictNull.ts, 50 , 54))
201- >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 50 , 18))
202- >Obj : Symbol(Obj, Decl(awaitedTypeStrictNull.ts, 47 , 23))
203- >Obj : Symbol(Obj, Decl(awaitedTypeStrictNull.ts, 47 , 23))
208+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 53 , 18))
209+ >K : Symbol(K, Decl(awaitedTypeStrictNull.ts, 53 , 54))
210+ >T : Symbol(T, Decl(awaitedTypeStrictNull.ts, 53 , 18))
211+ >Obj : Symbol(Obj, Decl(awaitedTypeStrictNull.ts, 50 , 23))
212+ >Obj : Symbol(Obj, Decl(awaitedTypeStrictNull.ts, 50 , 23))
204213
205214 // Per #45924, this was failing due to incorrect inference both above and here.
206215 // Should not error.
207216 return api.post();
208- >api.post : Symbol(Api.post, Decl(awaitedTypeStrictNull.ts, 41 , 19))
209- >api : Symbol(api, Decl(awaitedTypeStrictNull.ts, 47 , 13))
210- >post : Symbol(Api.post, Decl(awaitedTypeStrictNull.ts, 41 , 19))
217+ >api.post : Symbol(Api.post, Decl(awaitedTypeStrictNull.ts, 44 , 19))
218+ >api : Symbol(api, Decl(awaitedTypeStrictNull.ts, 50 , 13))
219+ >post : Symbol(Api.post, Decl(awaitedTypeStrictNull.ts, 44 , 19))
211220}
212221
213222// helps with tests where '.types' just prints out the type alias name
214223type _Expect<TActual extends TExpected, TExpected> = TActual;
215- >_Expect : Symbol(_Expect, Decl(awaitedTypeStrictNull.ts, 54 , 1))
216- >TActual : Symbol(TActual, Decl(awaitedTypeStrictNull.ts, 57 , 13))
217- >TExpected : Symbol(TExpected, Decl(awaitedTypeStrictNull.ts, 57 , 39))
218- >TExpected : Symbol(TExpected, Decl(awaitedTypeStrictNull.ts, 57 , 39))
219- >TActual : Symbol(TActual, Decl(awaitedTypeStrictNull.ts, 57 , 13))
224+ >_Expect : Symbol(_Expect, Decl(awaitedTypeStrictNull.ts, 57 , 1))
225+ >TActual : Symbol(TActual, Decl(awaitedTypeStrictNull.ts, 60 , 13))
226+ >TExpected : Symbol(TExpected, Decl(awaitedTypeStrictNull.ts, 60 , 39))
227+ >TExpected : Symbol(TExpected, Decl(awaitedTypeStrictNull.ts, 60 , 39))
228+ >TActual : Symbol(TActual, Decl(awaitedTypeStrictNull.ts, 60 , 13))
220229
0 commit comments