|
| 1 | +=== tests/cases/compiler/inferTInParentheses.ts === |
| 2 | +type F1 = (num: [number]) => void; |
| 3 | +>F1 : Symbol(F1, Decl(inferTInParentheses.ts, 0, 0)) |
| 4 | +>num : Symbol(num, Decl(inferTInParentheses.ts, 0, 11)) |
| 5 | + |
| 6 | +type IsNumber<T extends number> = T; |
| 7 | +>IsNumber : Symbol(IsNumber, Decl(inferTInParentheses.ts, 0, 34)) |
| 8 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 1, 14)) |
| 9 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 1, 14)) |
| 10 | + |
| 11 | +type T1 = F1 extends (...args: (infer T)) => void ? T : never; |
| 12 | +>T1 : Symbol(T1, Decl(inferTInParentheses.ts, 1, 36)) |
| 13 | +>F1 : Symbol(F1, Decl(inferTInParentheses.ts, 0, 0)) |
| 14 | +>args : Symbol(args, Decl(inferTInParentheses.ts, 3, 22)) |
| 15 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 3, 37)) |
| 16 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 3, 37)) |
| 17 | + |
| 18 | +type T2 = F1 extends (args: [...(infer T)]) => void ? T : never; |
| 19 | +>T2 : Symbol(T2, Decl(inferTInParentheses.ts, 3, 62)) |
| 20 | +>F1 : Symbol(F1, Decl(inferTInParentheses.ts, 0, 0)) |
| 21 | +>args : Symbol(args, Decl(inferTInParentheses.ts, 4, 22)) |
| 22 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 4, 38)) |
| 23 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 4, 38)) |
| 24 | + |
| 25 | +type T3<T> = T extends IsNumber<(infer N)> ? true : false; |
| 26 | +>T3 : Symbol(T3, Decl(inferTInParentheses.ts, 4, 64)) |
| 27 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 5, 8)) |
| 28 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 5, 8)) |
| 29 | +>IsNumber : Symbol(IsNumber, Decl(inferTInParentheses.ts, 0, 34)) |
| 30 | +>N : Symbol(N, Decl(inferTInParentheses.ts, 5, 38)) |
| 31 | + |
| 32 | +type T4 = F1 extends (...args: ((infer T))) => void ? T : never; |
| 33 | +>T4 : Symbol(T4, Decl(inferTInParentheses.ts, 5, 58)) |
| 34 | +>F1 : Symbol(F1, Decl(inferTInParentheses.ts, 0, 0)) |
| 35 | +>args : Symbol(args, Decl(inferTInParentheses.ts, 7, 22)) |
| 36 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 7, 38)) |
| 37 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 7, 38)) |
| 38 | + |
| 39 | +type T5 = F1 extends (args: [...((infer T))]) => void ? T : never; |
| 40 | +>T5 : Symbol(T5, Decl(inferTInParentheses.ts, 7, 64)) |
| 41 | +>F1 : Symbol(F1, Decl(inferTInParentheses.ts, 0, 0)) |
| 42 | +>args : Symbol(args, Decl(inferTInParentheses.ts, 8, 22)) |
| 43 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 8, 39)) |
| 44 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 8, 39)) |
| 45 | + |
| 46 | +type T6<T> = T extends IsNumber<((infer N))> ? true : false; |
| 47 | +>T6 : Symbol(T6, Decl(inferTInParentheses.ts, 8, 66)) |
| 48 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 9, 8)) |
| 49 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 9, 8)) |
| 50 | +>IsNumber : Symbol(IsNumber, Decl(inferTInParentheses.ts, 0, 34)) |
| 51 | +>N : Symbol(N, Decl(inferTInParentheses.ts, 9, 39)) |
| 52 | + |
| 53 | +type T7 = F1 extends (...args: ((((infer T))))) => void ? T : never; |
| 54 | +>T7 : Symbol(T7, Decl(inferTInParentheses.ts, 9, 60)) |
| 55 | +>F1 : Symbol(F1, Decl(inferTInParentheses.ts, 0, 0)) |
| 56 | +>args : Symbol(args, Decl(inferTInParentheses.ts, 11, 22)) |
| 57 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 11, 40)) |
| 58 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 11, 40)) |
| 59 | + |
| 60 | +type T8 = F1 extends (args: [...((((infer T))))]) => void ? T : never; |
| 61 | +>T8 : Symbol(T8, Decl(inferTInParentheses.ts, 11, 68)) |
| 62 | +>F1 : Symbol(F1, Decl(inferTInParentheses.ts, 0, 0)) |
| 63 | +>args : Symbol(args, Decl(inferTInParentheses.ts, 12, 22)) |
| 64 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 12, 41)) |
| 65 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 12, 41)) |
| 66 | + |
| 67 | +type T9<T> = T extends IsNumber<((((infer N))))> ? true : false; |
| 68 | +>T9 : Symbol(T9, Decl(inferTInParentheses.ts, 12, 70)) |
| 69 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 13, 8)) |
| 70 | +>T : Symbol(T, Decl(inferTInParentheses.ts, 13, 8)) |
| 71 | +>IsNumber : Symbol(IsNumber, Decl(inferTInParentheses.ts, 0, 34)) |
| 72 | +>N : Symbol(N, Decl(inferTInParentheses.ts, 13, 41)) |
| 73 | + |
0 commit comments