Bug Report
π Search Terms
Variadic tuple mapped type keyof
π Version & Regression Information
- This is the behavior in every version I tried
β― Playground Link
Playground link with relevant code
π» Code
type Keys<O extends unknown[]> = { [K in keyof O]: K };
type A = Keys<[string, ...string[]]>;
type B = Keys<[string, ...string[], number]>;
π Actual behavior
A and B both have the variadic part typed as ..."1"[], which is wrong. B is further wrong because the number part becomes "2", while in practice it would rarely be "2".
π Expected behavior
A should be ["0", ...number[]]; B should be ["0", ...number[], number]
Bug Report
π Search Terms
Variadic tuple mapped type keyof
π Version & Regression Information
β― Playground Link
Playground link with relevant code
π» Code
π Actual behavior
AandBboth have the variadic part typed as..."1"[], which is wrong.Bis further wrong because thenumberpart becomes"2", while in practice it would rarely be"2".π Expected behavior
Ashould be["0", ...number[]];Bshould be["0", ...number[], number]