From ca37a5114cdef9e2a2b3b2d86d22687143356350 Mon Sep 17 00:00:00 2001 From: ASDAlexander77 Date: Fri, 23 Oct 2026 18:29:30 +0100 Subject: [PATCH] =?UTF-8?q?own=20spec=20=C2=A735:=20drop=20the=20ternary-c?= =?UTF-8?q?onst=20leak=20note,=20fixed=20by=20#673?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ยง35's "Not here" said that under rc a folded const a ternary yields is never released, so the class cases leaked under rc and own. #673 releases it at the end of its block. Co-Authored-By: Claude Opus 5.5 --- .../superpowers/specs/2026-09-24-own-memory-model-design.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/tslang/docs/superpowers/specs/2026-09-24-own-memory-model-design.md b/tslang/docs/superpowers/specs/2026-09-24-own-memory-model-design.md index bf41fff56..77b533738 100644 --- a/tslang/docs/superpowers/specs/2026-09-24-own-memory-model-design.md +++ b/tslang/docs/superpowers/specs/2026-09-24-own-memory-model-design.md @@ -4368,6 +4368,3 @@ Not here: are not values `movesOf` checks, so `each`'s `ts.RetainSlot` is still `merged from several branches` (and `moved inside a loop`). A `const each` of the same reads compiled before this section and still does. -- Under rc a folded `const` that a ternary yields is never given back (`releaseDiscardedTemporaries` - skips a value a `ts.Result` uses), so the class cases leak `h` and `h2` under rc, and under own - too. The interface cases do not: their `ts.New` is used by the view, not by the branch.