Uh oh!
There was an error while loading. Please reload this page.
Disable constraint reduction in intersections created by constraint hoisting - #58403
Conversation
Anders Hejlsberg (ahejlsberg)
commented
May 2, 2024
TypeScript Bot (@typescript-bot) test it |
TypeScript Bot (typescript-bot)
commented
May 2, 2024
Hey Anders Hejlsberg (@ahejlsberg), the results of running the DT tests are ready. Everything looks the same! |
TypeScript Bot (typescript-bot)
commented
May 2, 2024
Anders Hejlsberg (@ahejlsberg) Here are the results of running the user tests comparing Everything looks good! |
TypeScript Bot (typescript-bot)
commented
May 2, 2024
Anders Hejlsberg (@ahejlsberg) Here they are:tscComparison Report - baseline..pr
System info unknown Hosts
Scenarios
Developer Information: | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TypeScript Bot (typescript-bot)
commented
May 2, 2024
Anders Hejlsberg (@ahejlsberg) Here are the results of running the top 400 repos comparing Everything looks good! |
Anders Hejlsberg (ahejlsberg)
commented
May 2, 2024
Tests and performance all look good. This is ready to review and merge. |
| // Also, unlike union types, the order of the constituent types is preserved in order that overload resolution | ||
| // for intersections of types with signatures can be deterministic. | ||
| function getIntersectionType(types: readonly Type[], aliasSymbol?: Symbol, aliasTypeArguments?: readonly Type[], noSupertypeReduction?: boolean): Type { | ||
| function getIntersectionType(types: readonly Type[], flags = IntersectionFlags.None, aliasSymbol?: Symbol, aliasTypeArguments?: readonly Type[]): Type { |
There was a problem hiding this comment.
Is this flag something that should be required, in case we forget to pass it? Happens all the time for the relation intersection state...
There was a problem hiding this comment.
No, it's exceedingly rare to need any of these flags (only one place for each flag in entire code base), so I think it's preferable to leave it optional.
Fixes#58370.