Skip to content

Fix inactive owned match temporary releases - #1419

Merged
sanohiro merged 2 commits into
mainfrom
fix/matched-owned-payload-release
Oct 25, 2026
Merged

sanohiro merged 2 commits into
mainfrom
fix/matched-owned-payload-release

Conversation

@sanohiro

Copy link
Copy Markdown
Owner

A temporary Result/Option/user-sum payload moved into an outer owner could be falsely expired when the match expression ended. The inactive alternative still carried the producer's temporary release, so the join made cleanup end storage retained by the active arm.

Refine only a proved inactive Current Producer's exact initial Staging or current-depth IterTemp association. Preserve other owners, active/unknown header alternatives, prior generations, existing ending evidence, contents and provenance. This follows Plan246 without changing language syntax, IR, runtime cleanup or allocation.

Validation: parameterized directory invariant; source/type/control/expiry owners in both frontends; imported generic native and cold/cache-hit execution with exact allocation/free counts; existing borrow/owned-temporary/loop owners; authenticated FILE_SET failure and immutable control both pass both check modes. Private source remains outside Git. Final preflight runs the focused owners, bounded gate and Clippy.

@sanohiro
sanohiro marked this pull request as ready for review October 25, 2026 05:42
@sanohiro
sanohiro merged commit b20828e into main Oct 25, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant