-
Notifications
You must be signed in to change notification settings - Fork 12.9k
Closed
Closed
Copy link
Labels
Fix AvailableA PR has been opened for this issueA PR has been opened for this issueWorking as IntendedThe behavior described is the intended behavior; this is not a bugThe behavior described is the intended behavior; this is not a bug
Description
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]
fatcerberus
Metadata
Metadata
Assignees
Labels
Fix AvailableA PR has been opened for this issueA PR has been opened for this issueWorking as IntendedThe behavior described is the intended behavior; this is not a bugThe behavior described is the intended behavior; this is not a bug