You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Lots of types have constraints and we have to "drill in" to constraints to see if the constraint is related to the target type.
Those really shouldn't count towards another level of comparisons when it comes to the recursion limiter - otherwise we'll often incorrectly say the types are too deep to continue comparing.
Similar behavior occurs for union types because unions add another layer of comparisons.
Perf is also improved - a 1.5% improvement in Material UI.
Feels like there is some strangeness around conditional types.
Track Source and Target Stack Depths Separately
#41821
isRelatedTois diving into the left or right side.Array.prototype.atReturningundefined#45512
[...some, ...stuff, 123, true, 'a'].at(-1)could returnstring)undefinedin the return type.-1was the argument that was passed in 99% of the time.T | undefinedinlib.d.ts.