Skip to content

Support stored Map and Set iterators in static builds - #618

Merged
ctate merged 2 commits into
mainfrom
ctate/support-stored-map-016a34
Oct 2, 2026
Merged

ctate merged 2 commits into
mainfrom
ctate/support-stored-map-016a34

Conversation

@ctate

@ctate ctate commented Oct 2, 2026

Copy link
Copy Markdown
Collaborator

Stored typed Map and Set iterators previously had no static lowering. This change lets const cursor = map.values(); cursor.next() compile without an embedded engine, and supports passing cursors, for...of, spreads, and mapper-less Array.from.

Reuse native live cursors and preserve reference identity for records, arrays, classes, and supported unions. Keep iterator helper methods such as .map() and .take() explicitly refused, and update differential fixtures, diagnostic snapshots, documentation, and the generated surface manifest.

Validation:

  • 28 focused differential checks passed in release/dev profiles; the same 28 passed with AddressSanitizer and reference-count auditing.
  • Iterator fixtures also passed in both lanes after integrating the latest main branch.
  • All 140 diagnostic tests passed.
  • Workspace build, lint, manifest drift check, and Node compatibility checks passed.
  • Documentation type/build checks and all 22 route tests passed.

Full-suite validation is incomplete: the sanitized multi-instance library probe reports a 164-byte leak, reproduced on the unchanged starting commit 54d05461b8141731077fe303b697a925bce934d6. The broader plain run was stopped after confirming that existing full-gate blocker.

@vercel

vercel Bot commented Oct 2, 2026 •

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
scriptc Ready Ready Preview, v0 Oct 2, 2026 5:11pm UTC

@ctate
ctate merged commit 0e764aa into main Oct 2, 2026
77 checks passed

This branch was successfully deployed

1 active deployment
Preview — 14be4cf0 Deployed Oct 2, 2026 by vercel[bot]
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