@@ -73,3 +73,42 @@ export const check: Promise<string> = cb({ v: 1 });
7373>cb : Symbol(cb, Decl(genericDefaultInReentrantCallResolution.ts, 15, 12))
7474>v : Symbol(v, Decl(genericDefaultInReentrantCallResolution.ts, 19, 42))
7575
76+ // https://github.com/microsoft/TypeScript/issues/63949#issuecomment-5400383233
77+
78+ declare function request<T = { input: { value: number }; output: string }>(
79+ >request : Symbol(request, Decl(genericDefaultInReentrantCallResolution.ts, 19, 51))
80+ >T : Symbol(T, Decl(genericDefaultInReentrantCallResolution.ts, 23, 25))
81+ >input : Symbol(input, Decl(genericDefaultInReentrantCallResolution.ts, 23, 30))
82+ >value : Symbol(value, Decl(genericDefaultInReentrantCallResolution.ts, 23, 39))
83+ >output : Symbol(output, Decl(genericDefaultInReentrantCallResolution.ts, 23, 56))
84+
85+ body?: T extends { input: unknown } ? T["input"] : never,
86+ >body : Symbol(body, Decl(genericDefaultInReentrantCallResolution.ts, 23, 75))
87+ >T : Symbol(T, Decl(genericDefaultInReentrantCallResolution.ts, 23, 25))
88+ >input : Symbol(input, Decl(genericDefaultInReentrantCallResolution.ts, 24, 22))
89+ >T : Symbol(T, Decl(genericDefaultInReentrantCallResolution.ts, 23, 25))
90+
91+ ): T extends { output: unknown } ? T["output"] : T;
92+ >T : Symbol(T, Decl(genericDefaultInReentrantCallResolution.ts, 23, 25))
93+ >output : Symbol(output, Decl(genericDefaultInReentrantCallResolution.ts, 25, 14))
94+ >T : Symbol(T, Decl(genericDefaultInReentrantCallResolution.ts, 23, 25))
95+ >T : Symbol(T, Decl(genericDefaultInReentrantCallResolution.ts, 23, 25))
96+
97+ declare function identity<T>(callback: T): T;
98+ >identity : Symbol(identity, Decl(genericDefaultInReentrantCallResolution.ts, 25, 51))
99+ >T : Symbol(T, Decl(genericDefaultInReentrantCallResolution.ts, 27, 26))
100+ >callback : Symbol(callback, Decl(genericDefaultInReentrantCallResolution.ts, 27, 29))
101+ >T : Symbol(T, Decl(genericDefaultInReentrantCallResolution.ts, 27, 26))
102+ >T : Symbol(T, Decl(genericDefaultInReentrantCallResolution.ts, 27, 26))
103+
104+ identity((data: { value: number }) =>
105+ >identity : Symbol(identity, Decl(genericDefaultInReentrantCallResolution.ts, 25, 51))
106+ >data : Symbol(data, Decl(genericDefaultInReentrantCallResolution.ts, 29, 10))
107+ >value : Symbol(value, Decl(genericDefaultInReentrantCallResolution.ts, 29, 17))
108+
109+ request(data),
110+ >request : Symbol(request, Decl(genericDefaultInReentrantCallResolution.ts, 19, 51))
111+ >data : Symbol(data, Decl(genericDefaultInReentrantCallResolution.ts, 29, 10))
112+
113+ );
114+
0 commit comments