@@ -1204,3 +1204,43 @@ function f23<U extends string[]>(args: [...U, number]) {
12041204>f22 : Symbol(f22, Decl(variadicTuples1.ts, 342, 1), Decl(variadicTuples1.ts, 344, 72))
12051205}
12061206
1207+ // Repro from #39327
1208+
1209+ interface Desc<A extends unknown[], T> {
1210+ >Desc : Symbol(Desc, Decl(variadicTuples1.ts, 351, 1))
1211+ >A : Symbol(A, Decl(variadicTuples1.ts, 355, 15))
1212+ >T : Symbol(T, Decl(variadicTuples1.ts, 355, 35))
1213+
1214+ readonly f: (...args: A) => T;
1215+ >f : Symbol(Desc.f, Decl(variadicTuples1.ts, 355, 40))
1216+ >args : Symbol(args, Decl(variadicTuples1.ts, 356, 17))
1217+ >A : Symbol(A, Decl(variadicTuples1.ts, 355, 15))
1218+ >T : Symbol(T, Decl(variadicTuples1.ts, 355, 35))
1219+
1220+ bind<T extends unknown[], U extends unknown[], R>(this: Desc<[...T, ...U], R>, ...args: T): Desc<[...U], R>;
1221+ >bind : Symbol(Desc.bind, Decl(variadicTuples1.ts, 356, 34))
1222+ >T : Symbol(T, Decl(variadicTuples1.ts, 357, 9))
1223+ >U : Symbol(U, Decl(variadicTuples1.ts, 357, 29))
1224+ >R : Symbol(R, Decl(variadicTuples1.ts, 357, 50))
1225+ >this : Symbol(this, Decl(variadicTuples1.ts, 357, 54))
1226+ >Desc : Symbol(Desc, Decl(variadicTuples1.ts, 351, 1))
1227+ >T : Symbol(T, Decl(variadicTuples1.ts, 357, 9))
1228+ >U : Symbol(U, Decl(variadicTuples1.ts, 357, 29))
1229+ >R : Symbol(R, Decl(variadicTuples1.ts, 357, 50))
1230+ >args : Symbol(args, Decl(variadicTuples1.ts, 357, 82))
1231+ >T : Symbol(T, Decl(variadicTuples1.ts, 357, 9))
1232+ >Desc : Symbol(Desc, Decl(variadicTuples1.ts, 351, 1))
1233+ >U : Symbol(U, Decl(variadicTuples1.ts, 357, 29))
1234+ >R : Symbol(R, Decl(variadicTuples1.ts, 357, 50))
1235+ }
1236+
1237+ declare const a: Desc<[string, number, boolean], object>;
1238+ >a : Symbol(a, Decl(variadicTuples1.ts, 360, 13))
1239+ >Desc : Symbol(Desc, Decl(variadicTuples1.ts, 351, 1))
1240+
1241+ const b = a.bind("", 1); // Desc<[boolean], object>
1242+ >b : Symbol(b, Decl(variadicTuples1.ts, 361, 5))
1243+ >a.bind : Symbol(Desc.bind, Decl(variadicTuples1.ts, 356, 34))
1244+ >a : Symbol(a, Decl(variadicTuples1.ts, 360, 13))
1245+ >bind : Symbol(Desc.bind, Decl(variadicTuples1.ts, 356, 34))
1246+
0 commit comments