Disable expression type caching in CFA for loops - #64018
Disable expression type caching in CFA for loops#64018Anders Hejlsberg (ahejlsberg) wants to merge 2 commits into
Conversation
|
TypeScript Bot (@typescript-bot) test it |
|
Anders Hejlsberg (@ahejlsberg) Here are the results of running the user tests with tsc comparing There were infrastructure failures potentially unrelated to your change:
Otherwise... Everything looks good! |
|
Anders Hejlsberg (@ahejlsberg) Here they are:
tscComparison Report - baseline..pr
System info unknown
Hosts
Scenarios
Developer Information: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Hey Anders Hejlsberg (@ahejlsberg), the results of running the DT tests are ready. Everything looks the same! |
|
Anders Hejlsberg (@ahejlsberg) Here are the results of running the top 400 repos with tsc comparing Everything looks good! |
|
TypeScript Bot (@typescript-bot) test top 1000 |
|
TypeScript Bot (@typescript-bot) test top1000 |
|
Anders Hejlsberg (@ahejlsberg) Here are the results of running the top 1000 repos with tsc comparing Everything looks good! |
This PR disables expression type caching during control flow analysis of loops. Previously, when resolving an expression type that we were going to cache, we'd first save off the flop loop caches in order to start expression type resolution from a known point. However, this could cause infinite recursion.
This PR supersedes #64013, which had the same effect but kept old redundant logic.
Fixes #64012.