From e8bbd53b0cd8c05df33e125bc437241f04cdeb26 Mon Sep 17 00:00:00 2001 From: Joe Savona Date: Mon, 9 Jun 2025 11:11:44 -0700 Subject: [PATCH] Update base for Update on "[compiler][newinference] Error handling and related fixes" Lots of small fixes related to error handling. InferMutationAliasRanges now tracks transitive calls that may mutate frozen or global values. We properly populate and track the reason each value has the kind it has, to use when throwing errors for invalid mutations (can't mutate state vs can't mutate a captured jsx value, etc). When we infer mutation effects for inner functions, we populate the location of mutations as the location where the mutation occurred, not the declaration of the captured value (aside: this was quite involved to do in the old inference, it's trivial here). A bunch of other small fixes that make sense in context. And some of our "bug-*" fixtures output changes...becasue the new inference fixes the bugs. One example included here. [ghstack-poisoned]