From d35024a57773e0e1e8bed587e468e6398b6ebcfd Mon Sep 17 00:00:00 2001 From: Joe Savona Date: Wed, 28 May 2025 22:27:01 -0700 Subject: [PATCH] Update base for Update on "[compiler] Repro for imprecise memo due to closure capturing changes" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Syncing this stack internally there is a small percentage of files that lose memoization, generally for callbacks. The repro here tries to get at the core pattern, where a parameter escapes into a mutable return value. This makes the callback appear mutable, and means that calls like array.map aren't able to optimize as well — even if the array itself is transitively immutable. The challenge is that we can't really distinguish between just capturing and true mutation right now — AnalyzeFunctions kind of has to pick one, and consider both a mutation. [ghstack-poisoned]