1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
=== tests/cases/compiler/recursiveResolveTypeMembers.ts ===
// Repro from #25291
type PromisedTuple<L extends any[], U = (...args: L) => void> =
>PromisedTuple : Symbol(PromisedTuple, Decl(recursiveResolveTypeMembers.ts, 0, 0))
>L : Symbol(L, Decl(recursiveResolveTypeMembers.ts, 2, 19))
>U : Symbol(U, Decl(recursiveResolveTypeMembers.ts, 2, 35))
>args : Symbol(args, Decl(recursiveResolveTypeMembers.ts, 2, 41))
>L : Symbol(L, Decl(recursiveResolveTypeMembers.ts, 2, 19))
U extends (h: infer H, ...args: infer R) => [Promise<H>, ...PromisedTuple<R>] ? [] : []
>U : Symbol(U, Decl(recursiveResolveTypeMembers.ts, 2, 35))
>h : Symbol(h, Decl(recursiveResolveTypeMembers.ts, 3, 15))
>H : Symbol(H, Decl(recursiveResolveTypeMembers.ts, 3, 23))
>args : Symbol(args, Decl(recursiveResolveTypeMembers.ts, 3, 26))
>R : Symbol(R, Decl(recursiveResolveTypeMembers.ts, 3, 41))
>Promise : Symbol(Promise, Decl(lib.es5.d.ts, --, --))
>PromisedTuple : Symbol(PromisedTuple, Decl(recursiveResolveTypeMembers.ts, 0, 0))
type Promised = PromisedTuple<[1, 2, 3]>
>Promised : Symbol(Promised, Decl(recursiveResolveTypeMembers.ts, 3, 91))
>PromisedTuple : Symbol(PromisedTuple, Decl(recursiveResolveTypeMembers.ts, 0, 0))
|