Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
After the change in microsoft/TypeScript#56004 the
PickRestType
was causing some types to be considered theoretically infinite in their recursion.I can't wrap my mind around exactly why right now, but I can see how
PickRestType
on a crazy long tuple will cause a very deep recursion, so I decided to simply cap its recursion and returnunknown[]
if it goes past that point and that solved the errors.Side effects:
unknown[]
in TypeScript versions older than 5.4Considerations:
Is the
DepthTracker extends Array<true> = []
+PickRestTypeMaxDepth extends DepthTracker['length']
a good way to track depth? I know I have done a depth check previous times but can't remember what solution I picked then.Fixes #784