Repository navigation
gen-zig: the dead-const pass no longer ends a block at an unindented break; (Closes #8565) - #8566
Merged
Merged
Conversation
gHashTag
enabled auto-merge (squash)
October 10, 2026 12:49
Contributor
9 tasks
…break; (Closes #8565) The pass that emits _ = name; // dead after const-inlining scanned to the next column-0 line, and gen-zig emits break; and continue; unindented, so a use after a loop's break was never seen and Zig refused the discard of a used const. A column-0 break;/continue; no longer starts a block. Gen output changes in 10 specs, each only by removed discard lines; all 10 were blocked and stay blocked (lexer, router and hybrid_bigint move past this error). Their seals are refreshed blocked -> blocked. Corpus ratchet: the 5 inherited failures of master (#8562), none new; types ratchet CLEAN. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
force-pushed
the
claude/gen-zig-dead-const-break
branch
from
October 10, 2026 12:55
e1409f5 to
1e59862
Compare
Contributor
PR DashboardGenerated at: 2026-10-10 12:58:08 UTC
Summary
Seal Status
|
gHashTag
added a commit
that referenced
this pull request
Oct 10, 2026
…ariants compare tags (Closes #8578) (#8583) check_keyword takes the [256]u8 lexeme buffer a Token carries; the 8 keyword tests passed string literals. A spec helper lexeme_buf(s) builds that buffer, and the tests use it: same keywords, same TokenKinds. The invariants compared an enum to an integer; they compare its tag now. 16/16, 0 vacuous, on top of #8566. Resealed v2 on both seal files. Co-authored-by: Claude <claude@anthropic.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #8565
The pass that emits
_ = name; // dead after const-inliningdecides deadness by scanning to the next column-0 line. gen-zig emitsbreak;andcontinue;unindented, so the scan stopped at the firstbreak;. A use after the loop was missed, and Zig refused the discard:pointless discard of local constant.Fix: a column-0
break;orcontinue;no longer starts a top-level block. One line in compiler.rs; FROZEN_HASH moves with it. Re-indentingbreak;would also fix it, but would change the Zig output, and so the seal hash, of every spec with a break.Measured over every spec
t27c genoutput changes in 10 specs underspecs/and 2 more outside it (compiler/parser/parser.t27,contrib/backend/zig/legacy/main_zig_handwritten.t27). Each changes only by removeddead after const-inlininglines, diffed one by one. I first measuredspecs/alone; CI's seal coverage caught the other two, and they are resealed in the second commit.compiler/lexer.t27(a frontier hub with 9 dependents),server/router.t27andternary/hybrid_bigint.t27get past this error to their next one.check_seal_coverage.py: OK.tri seals drift --fixwas not used, because it would also have resealed regression: compiler/optimizer.t27 and port/tools/gft_deep_demo.t27 stopped compiling on 2026-10-10 #8552's regressions.t27c suite --corpus-only --ratchet: exactly master's 5 inherited failures (master Corpus Ratchet: 5 unexpected failures from 2026-10-10 merges (ingest.t27 apostrophe, a/b_c, optimizer, orchestrator_bench) #8562), none new.tri types ratchet: CLEAN. Budget gate: +1 -1.Part of epic #8095 (P7, #8393).
🤖 Generated with Claude Code