@@ -290,5 +290,265 @@ server.route({
290290 },
291291});
292292
293+ interface Container<V> {
294+ >Container : Symbol(Container, Decl(intraExpressionInferencesNestedGenericCall1.ts, 104, 3))
295+ >V : Symbol(V, Decl(intraExpressionInferencesNestedGenericCall1.ts, 106, 20))
296+
297+ v: V;
298+ >v : Symbol(Container.v, Decl(intraExpressionInferencesNestedGenericCall1.ts, 106, 24))
299+ >V : Symbol(V, Decl(intraExpressionInferencesNestedGenericCall1.ts, 106, 20))
300+ }
301+
302+ declare function makeWith<Key, Value>(options: {
303+ >makeWith : Symbol(makeWith, Decl(intraExpressionInferencesNestedGenericCall1.ts, 108, 1))
304+ >Key : Symbol(Key, Decl(intraExpressionInferencesNestedGenericCall1.ts, 110, 26))
305+ >Value : Symbol(Value, Decl(intraExpressionInferencesNestedGenericCall1.ts, 110, 30))
306+ >options : Symbol(options, Decl(intraExpressionInferencesNestedGenericCall1.ts, 110, 38))
307+
308+ readonly lookup: (key: Key) => Value;
309+ >lookup : Symbol(lookup, Decl(intraExpressionInferencesNestedGenericCall1.ts, 110, 48))
310+ >key : Symbol(key, Decl(intraExpressionInferencesNestedGenericCall1.ts, 111, 20))
311+ >Key : Symbol(Key, Decl(intraExpressionInferencesNestedGenericCall1.ts, 110, 26))
312+ >Value : Symbol(Value, Decl(intraExpressionInferencesNestedGenericCall1.ts, 110, 30))
313+
314+ readonly timeToLive: (exit: Container<Value>) => number;
315+ >timeToLive : Symbol(timeToLive, Decl(intraExpressionInferencesNestedGenericCall1.ts, 111, 39))
316+ >exit : Symbol(exit, Decl(intraExpressionInferencesNestedGenericCall1.ts, 112, 24))
317+ >Container : Symbol(Container, Decl(intraExpressionInferencesNestedGenericCall1.ts, 104, 3))
318+ >Value : Symbol(Value, Decl(intraExpressionInferencesNestedGenericCall1.ts, 110, 30))
319+
320+ }): [Key, Value];
321+ >Key : Symbol(Key, Decl(intraExpressionInferencesNestedGenericCall1.ts, 110, 26))
322+ >Value : Symbol(Value, Decl(intraExpressionInferencesNestedGenericCall1.ts, 110, 30))
323+
324+ declare function fn<A, R>(fn: (arg: A) => R): (arg: A) => R;
325+ >fn : Symbol(fn, Decl(intraExpressionInferencesNestedGenericCall1.ts, 113, 17))
326+ >A : Symbol(A, Decl(intraExpressionInferencesNestedGenericCall1.ts, 115, 20))
327+ >R : Symbol(R, Decl(intraExpressionInferencesNestedGenericCall1.ts, 115, 22))
328+ >fn : Symbol(fn, Decl(intraExpressionInferencesNestedGenericCall1.ts, 115, 26))
329+ >arg : Symbol(arg, Decl(intraExpressionInferencesNestedGenericCall1.ts, 115, 31))
330+ >A : Symbol(A, Decl(intraExpressionInferencesNestedGenericCall1.ts, 115, 20))
331+ >R : Symbol(R, Decl(intraExpressionInferencesNestedGenericCall1.ts, 115, 22))
332+ >arg : Symbol(arg, Decl(intraExpressionInferencesNestedGenericCall1.ts, 115, 47))
333+ >A : Symbol(A, Decl(intraExpressionInferencesNestedGenericCall1.ts, 115, 20))
334+ >R : Symbol(R, Decl(intraExpressionInferencesNestedGenericCall1.ts, 115, 22))
335+
336+ const result1 = makeWith({
337+ >result1 : Symbol(result1, Decl(intraExpressionInferencesNestedGenericCall1.ts, 117, 5))
338+ >makeWith : Symbol(makeWith, Decl(intraExpressionInferencesNestedGenericCall1.ts, 108, 1))
339+
340+ lookup: fn((key: string) => key),
341+ >lookup : Symbol(lookup, Decl(intraExpressionInferencesNestedGenericCall1.ts, 117, 26))
342+ >fn : Symbol(fn, Decl(intraExpressionInferencesNestedGenericCall1.ts, 113, 17))
343+ >key : Symbol(key, Decl(intraExpressionInferencesNestedGenericCall1.ts, 118, 14))
344+ >key : Symbol(key, Decl(intraExpressionInferencesNestedGenericCall1.ts, 118, 14))
345+
346+ timeToLive: () => 10,
347+ >timeToLive : Symbol(timeToLive, Decl(intraExpressionInferencesNestedGenericCall1.ts, 118, 35))
348+
349+ });
350+
351+ const result2 = makeWith({
352+ >result2 : Symbol(result2, Decl(intraExpressionInferencesNestedGenericCall1.ts, 122, 5))
353+ >makeWith : Symbol(makeWith, Decl(intraExpressionInferencesNestedGenericCall1.ts, 108, 1))
354+
355+ lookup: fn((key: string) => key),
356+ >lookup : Symbol(lookup, Decl(intraExpressionInferencesNestedGenericCall1.ts, 122, 26))
357+ >fn : Symbol(fn, Decl(intraExpressionInferencesNestedGenericCall1.ts, 113, 17))
358+ >key : Symbol(key, Decl(intraExpressionInferencesNestedGenericCall1.ts, 123, 14))
359+ >key : Symbol(key, Decl(intraExpressionInferencesNestedGenericCall1.ts, 123, 14))
360+
361+ timeToLive: (exit) => exit.v.length,
362+ >timeToLive : Symbol(timeToLive, Decl(intraExpressionInferencesNestedGenericCall1.ts, 123, 35))
363+ >exit : Symbol(exit, Decl(intraExpressionInferencesNestedGenericCall1.ts, 124, 15))
364+ >exit.v.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --))
365+ >exit.v : Symbol(Container.v, Decl(intraExpressionInferencesNestedGenericCall1.ts, 106, 24))
366+ >exit : Symbol(exit, Decl(intraExpressionInferencesNestedGenericCall1.ts, 124, 15))
367+ >v : Symbol(Container.v, Decl(intraExpressionInferencesNestedGenericCall1.ts, 106, 24))
368+ >length : Symbol(String.length, Decl(lib.es5.d.ts, --, --))
369+
370+ });
371+
372+ // https://github.com/microsoft/TypeScript/issues/53776
373+ function deferQuery<TData>({}: {
374+ >deferQuery : Symbol(deferQuery, Decl(intraExpressionInferencesNestedGenericCall1.ts, 125, 3))
375+ >TData : Symbol(TData, Decl(intraExpressionInferencesNestedGenericCall1.ts, 128, 20))
376+
377+ queryFn: () => Promise<TData>;
378+ >queryFn : Symbol(queryFn, Decl(intraExpressionInferencesNestedGenericCall1.ts, 128, 32))
379+ >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, --, --))
380+ >TData : Symbol(TData, Decl(intraExpressionInferencesNestedGenericCall1.ts, 128, 20))
381+
382+ onSuccess: (data: TData) => void;
383+ >onSuccess : Symbol(onSuccess, Decl(intraExpressionInferencesNestedGenericCall1.ts, 129, 32))
384+ >data : Symbol(data, Decl(intraExpressionInferencesNestedGenericCall1.ts, 130, 14))
385+ >TData : Symbol(TData, Decl(intraExpressionInferencesNestedGenericCall1.ts, 128, 20))
386+
387+ }) {}
388+
389+ export function decorate<TParams extends unknown[], TResult>(
390+ >decorate : Symbol(decorate, Decl(intraExpressionInferencesNestedGenericCall1.ts, 131, 5))
391+ >TParams : Symbol(TParams, Decl(intraExpressionInferencesNestedGenericCall1.ts, 133, 25))
392+ >TResult : Symbol(TResult, Decl(intraExpressionInferencesNestedGenericCall1.ts, 133, 51))
393+
394+ func: (...params: TParams) => Promise<TResult>,
395+ >func : Symbol(func, Decl(intraExpressionInferencesNestedGenericCall1.ts, 133, 61))
396+ >params : Symbol(params, Decl(intraExpressionInferencesNestedGenericCall1.ts, 134, 9))
397+ >TParams : Symbol(TParams, Decl(intraExpressionInferencesNestedGenericCall1.ts, 133, 25))
398+ >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, --, --))
399+ >TResult : Symbol(TResult, Decl(intraExpressionInferencesNestedGenericCall1.ts, 133, 51))
400+
401+ ...params: TParams
402+ >params : Symbol(params, Decl(intraExpressionInferencesNestedGenericCall1.ts, 134, 49))
403+ >TParams : Symbol(TParams, Decl(intraExpressionInferencesNestedGenericCall1.ts, 133, 25))
404+
405+ ): () => Promise<TResult> {
406+ >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, --, --))
407+ >TResult : Symbol(TResult, Decl(intraExpressionInferencesNestedGenericCall1.ts, 133, 51))
408+
409+ return () => {
410+ return func(...params);
411+ >func : Symbol(func, Decl(intraExpressionInferencesNestedGenericCall1.ts, 133, 61))
412+ >params : Symbol(params, Decl(intraExpressionInferencesNestedGenericCall1.ts, 134, 49))
413+
414+ };
415+ }
416+
417+ type ArbitraryData = {
418+ >ArbitraryData : Symbol(ArbitraryData, Decl(intraExpressionInferencesNestedGenericCall1.ts, 140, 1))
419+
420+ property: string;
421+ >property : Symbol(property, Decl(intraExpressionInferencesNestedGenericCall1.ts, 142, 22))
422+
423+ };
424+
425+ export function getArbitraryData(_id: number): Promise<ArbitraryData[]> {
426+ >getArbitraryData : Symbol(getArbitraryData, Decl(intraExpressionInferencesNestedGenericCall1.ts, 144, 2))
427+ >_id : Symbol(_id, Decl(intraExpressionInferencesNestedGenericCall1.ts, 146, 33))
428+ >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, --, --))
429+ >ArbitraryData : Symbol(ArbitraryData, Decl(intraExpressionInferencesNestedGenericCall1.ts, 140, 1))
430+
431+ return Promise.resolve([{ property: "123" }]);
432+ >Promise.resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
433+ >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, --, --))
434+ >resolve : Symbol(PromiseConstructor.resolve, Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --), Decl(lib.es2015.promise.d.ts, --, --))
435+ >property : Symbol(property, Decl(intraExpressionInferencesNestedGenericCall1.ts, 147, 27))
436+ }
437+
438+ deferQuery({
439+ >deferQuery : Symbol(deferQuery, Decl(intraExpressionInferencesNestedGenericCall1.ts, 125, 3))
440+
441+ queryFn: decorate(getArbitraryData, 10),
442+ >queryFn : Symbol(queryFn, Decl(intraExpressionInferencesNestedGenericCall1.ts, 150, 12))
443+ >decorate : Symbol(decorate, Decl(intraExpressionInferencesNestedGenericCall1.ts, 131, 5))
444+ >getArbitraryData : Symbol(getArbitraryData, Decl(intraExpressionInferencesNestedGenericCall1.ts, 144, 2))
445+
446+ onSuccess(data) {
447+ >onSuccess : Symbol(onSuccess, Decl(intraExpressionInferencesNestedGenericCall1.ts, 151, 42))
448+ >data : Symbol(data, Decl(intraExpressionInferencesNestedGenericCall1.ts, 152, 12))
449+
450+ data.forEach((item) => {});
451+ >data.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --))
452+ >data : Symbol(data, Decl(intraExpressionInferencesNestedGenericCall1.ts, 152, 12))
453+ >forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --))
454+ >item : Symbol(item, Decl(intraExpressionInferencesNestedGenericCall1.ts, 153, 18))
455+
456+ },
457+ });
458+
459+ const getData = decorate(getArbitraryData, 10);
460+ >getData : Symbol(getData, Decl(intraExpressionInferencesNestedGenericCall1.ts, 157, 5))
461+ >decorate : Symbol(decorate, Decl(intraExpressionInferencesNestedGenericCall1.ts, 131, 5))
462+ >getArbitraryData : Symbol(getArbitraryData, Decl(intraExpressionInferencesNestedGenericCall1.ts, 144, 2))
463+
464+ deferQuery({
465+ >deferQuery : Symbol(deferQuery, Decl(intraExpressionInferencesNestedGenericCall1.ts, 125, 3))
466+
467+ queryFn: getData,
468+ >queryFn : Symbol(queryFn, Decl(intraExpressionInferencesNestedGenericCall1.ts, 158, 12))
469+ >getData : Symbol(getData, Decl(intraExpressionInferencesNestedGenericCall1.ts, 157, 5))
470+
471+ onSuccess(data) {
472+ >onSuccess : Symbol(onSuccess, Decl(intraExpressionInferencesNestedGenericCall1.ts, 159, 19))
473+ >data : Symbol(data, Decl(intraExpressionInferencesNestedGenericCall1.ts, 160, 12))
474+
475+ data.forEach((item) => {});
476+ >data.forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --))
477+ >data : Symbol(data, Decl(intraExpressionInferencesNestedGenericCall1.ts, 160, 12))
478+ >forEach : Symbol(Array.forEach, Decl(lib.es5.d.ts, --, --))
479+ >item : Symbol(item, Decl(intraExpressionInferencesNestedGenericCall1.ts, 161, 18))
480+
481+ },
482+ });
483+
484+ // https://github.com/microsoft/TypeScript/issues/52114
485+ export type ActionReducer<State> = (state: State | undefined) => State;
486+ >ActionReducer : Symbol(ActionReducer, Decl(intraExpressionInferencesNestedGenericCall1.ts, 163, 3))
487+ >State : Symbol(State, Decl(intraExpressionInferencesNestedGenericCall1.ts, 166, 26))
488+ >state : Symbol(state, Decl(intraExpressionInferencesNestedGenericCall1.ts, 166, 36))
489+ >State : Symbol(State, Decl(intraExpressionInferencesNestedGenericCall1.ts, 166, 26))
490+ >State : Symbol(State, Decl(intraExpressionInferencesNestedGenericCall1.ts, 166, 26))
491+
492+ export function createReducer<State>(
493+ >createReducer : Symbol(createReducer, Decl(intraExpressionInferencesNestedGenericCall1.ts, 166, 71))
494+ >State : Symbol(State, Decl(intraExpressionInferencesNestedGenericCall1.ts, 168, 30))
495+
496+ initialState: State,
497+ >initialState : Symbol(initialState, Decl(intraExpressionInferencesNestedGenericCall1.ts, 168, 37))
498+ >State : Symbol(State, Decl(intraExpressionInferencesNestedGenericCall1.ts, 168, 30))
499+
500+ ): ActionReducer<State> {
501+ >ActionReducer : Symbol(ActionReducer, Decl(intraExpressionInferencesNestedGenericCall1.ts, 163, 3))
502+ >State : Symbol(State, Decl(intraExpressionInferencesNestedGenericCall1.ts, 168, 30))
503+
504+ return {} as any;
505+ }
506+
507+ export function createFeature<State>(config: {
508+ >createFeature : Symbol(createFeature, Decl(intraExpressionInferencesNestedGenericCall1.ts, 172, 1))
509+ >State : Symbol(State, Decl(intraExpressionInferencesNestedGenericCall1.ts, 174, 30))
510+ >config : Symbol(config, Decl(intraExpressionInferencesNestedGenericCall1.ts, 174, 37))
511+
512+ reducer: ActionReducer<State>;
513+ >reducer : Symbol(reducer, Decl(intraExpressionInferencesNestedGenericCall1.ts, 174, 46))
514+ >ActionReducer : Symbol(ActionReducer, Decl(intraExpressionInferencesNestedGenericCall1.ts, 163, 3))
515+ >State : Symbol(State, Decl(intraExpressionInferencesNestedGenericCall1.ts, 174, 30))
516+
517+ selectors: (state: State) => unknown;
518+ >selectors : Symbol(selectors, Decl(intraExpressionInferencesNestedGenericCall1.ts, 175, 32))
519+ >state : Symbol(state, Decl(intraExpressionInferencesNestedGenericCall1.ts, 176, 14))
520+ >State : Symbol(State, Decl(intraExpressionInferencesNestedGenericCall1.ts, 174, 30))
521+
522+ }) {}
523+
524+ createFeature({
525+ >createFeature : Symbol(createFeature, Decl(intraExpressionInferencesNestedGenericCall1.ts, 172, 1))
526+
527+ reducer: createReducer(""),
528+ >reducer : Symbol(reducer, Decl(intraExpressionInferencesNestedGenericCall1.ts, 179, 15))
529+ >createReducer : Symbol(createReducer, Decl(intraExpressionInferencesNestedGenericCall1.ts, 166, 71))
530+
531+ selectors: (state) => ({}),
532+ >selectors : Symbol(selectors, Decl(intraExpressionInferencesNestedGenericCall1.ts, 180, 29))
533+ >state : Symbol(state, Decl(intraExpressionInferencesNestedGenericCall1.ts, 181, 14))
534+
535+ });
536+
537+ const reducer = createReducer(true);
538+ >reducer : Symbol(reducer, Decl(intraExpressionInferencesNestedGenericCall1.ts, 184, 5))
539+ >createReducer : Symbol(createReducer, Decl(intraExpressionInferencesNestedGenericCall1.ts, 166, 71))
540+
541+ createFeature({
542+ >createFeature : Symbol(createFeature, Decl(intraExpressionInferencesNestedGenericCall1.ts, 172, 1))
543+
544+ reducer,
545+ >reducer : Symbol(reducer, Decl(intraExpressionInferencesNestedGenericCall1.ts, 185, 15))
546+
547+ selectors: (state) => ({}),
548+ >selectors : Symbol(selectors, Decl(intraExpressionInferencesNestedGenericCall1.ts, 186, 10))
549+ >state : Symbol(state, Decl(intraExpressionInferencesNestedGenericCall1.ts, 187, 14))
550+
551+ });
552+
293553export {};
294554
0 commit comments