Skip to content

TSLANG_ISSUES: 82-83 (own: closure calling a captured closure; global row bound to a local freed) - #857

Merged
ASDAlexander77 merged 1 commit into
mainfrom
tslang-issues-82-83
Nov 14, 2026
Merged

ASDAlexander77 merged 1 commit into
mainfrom
tslang-issues-82-83

Conversation

@ASDAlexander77

Copy link
Copy Markdown
Owner

Two -mm=own findings from native_ts_graphics' sweep on head 5aa1cdb. The rest of that sweep's findings are already items 60–81.

  • 82 — a closure that calls a closure it captured makes its enclosing method count as freeing anything, so callers' borrows end at the call. Includes a run repro.
  • 83 — binding a row of a module-level array of arrays to a local (const meta = POOL[idx];) frees the row at the local's end. That's a double free: hdr_display hung at exit in mimalloc's mi_process_done. Includes a 12-line repro. Item 61 (immortal array globals) may already cover this, but it hasn't been rechecked on a head that has 61.

With native_ts_graphics #321 and #322, every source there compiles under -mm=own and its ctest passes 525/525.

🤖 Generated with Claude Code

… anything; a global row bound to a local is freed)

From native_ts_graphics' -mm=own sweep (head 5aa1cdb), with run repros and its workarounds;
the rest of that sweep's findings are 60-81 already.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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