Repository navigation
gen-zig: an empty typed array &[_]T{} lowers to .{} (Closes #8390) - #8415
Merged
Merged
Conversation
A typed literal keeps its dimension in extra_size and its elements as
children. With no children, the ExprArrayLiteral arm and
gen_array_literal_braces read extra_size as element text and printed the
dimension: &[_]S{} became &.{ _ }, which Zig refuses. That one error kept 17
specs from compiling. Two lines change; FROZEN_HASH moves with compiler.rs.
Regression spec: specs/compiler/zig_empty_typed_array.t27 (BLOCKED on master,
2/2 with the fix). Corpus ratchet: CLEAN.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 9, 2026 22:54
Contributor
9 tasks
This was referenced Oct 9, 2026
gHashTag
pushed a commit
that referenced
this pull request
Oct 10, 2026
…aster green after #8415 (Closes #8416, Closes #8417) #8416: W736 renames a local that shadows a container declaration to <name>_lv, and applied it inside the local's own initializer, so const PI = constants::PI; became const PI_lv = PI_lv; (sacred_physics, the largest missing hub in frontier, and e8_lie_algebra). The rename is lifted while the initializer is emitted. Regression spec zig_shadow_initializer.t27. #8417: #8415 left master red. Its regression spec declared Pair, which verify_multitarget.t27 also declares (now EmptyArrayElem), and its codegen change drifted 45 specs' seals. tri seals drift --fix resealed 42 and synced twins; html, xml and terminal now compile and fail their own tests, so they are sealed with --force and move stale -> tests-fail in seal_baseline.txt (only those 6 lines). Corpus ratchet CLEAN, types ratchet CLEAN, seal coverage OK, drift 0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 10, 2026
…aster green after #8415 (Closes #8416, Closes #8417) (#8418) #8416: W736 renames a local that shadows a container declaration to <name>_lv, and applied it inside the local's own initializer, so const PI = constants::PI; became const PI_lv = PI_lv; (sacred_physics, the largest missing hub in frontier, and e8_lie_algebra). The rename is lifted while the initializer is emitted. Regression spec zig_shadow_initializer.t27. #8417: #8415 left master red. Its regression spec declared Pair, which verify_multitarget.t27 also declares (now EmptyArrayElem), and its codegen change drifted 45 specs' seals. tri seals drift --fix resealed 42 and synced twins; html, xml and terminal now compile and fail their own tests, so they are sealed with --force and move stale -> tests-fail in seal_baseline.txt (only those 6 lines). Corpus ratchet CLEAN, types ratchet CLEAN, seal coverage OK, drift 0. Co-authored-by: Claude <claude@anthropic.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 10, 2026
gHashTag
added a commit
that referenced
this pull request
Oct 10, 2026
… zig on the lab (Refs #8553) 43b810a moved FROZEN_HASH with compiler.rs, so every generated target changed bytes; every seal not regenerated since then reported [stale] -- 56 at this branch (testbenches, Ternary* ISA, TriMath/TriMeasurement/ TriBellmanFord, SpecWriter, bench_main, lsp, functions_fn_monitoring_*, and twins, including the legacy pipeline_"[]const u8".json). Each was re-sealed per the checker prescription (t27c seal <spec> --save) with zig on PATH so the test record is real, then tri seals sync-twins. The j_go test fix in the previous commit is what made fpga_TrinetNode sealable. The lab gate on this exact tree: exit 0, zero stale, zero gen-drift. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 10, 2026
…observes the accept edge (#8564) * fix(fpga): trinet_node j_go test observes the strobe on the accept edge, not a cycle late (Closes #8553) j_go is registered on the accept edge (the nonblocking idiom at the top of on_clock), so the one-cycle strobe is high in exactly the cycle after on_clock(0,0,0,1,1). #8490's test opened its 100-clock observation window only after that call and counted 0 pulses. Assert the strobe right after the accept edge, then require 0 pulses in the window that follows; the sibling j_go_stays_low test already reads it this way. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * seals: reseal the #8415 FROZEN_HASH wave -- 56 seals regenerated with zig on the lab (Refs #8553) 43b810a moved FROZEN_HASH with compiler.rs, so every generated target changed bytes; every seal not regenerated since then reported [stale] -- 56 at this branch (testbenches, Ternary* ISA, TriMath/TriMeasurement/ TriBellmanFord, SpecWriter, bench_main, lsp, functions_fn_monitoring_*, and twins, including the legacy pipeline_"[]const u8".json). Each was re-sealed per the checker prescription (t27c seal <spec> --save) with zig on PATH so the test record is real, then tri seals sync-twins. The j_go test fix in the previous commit is what made fpga_TrinetNode sealable. The lab gate on this exact tree: exit 0, zero stale, zero gen-drift. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 (1M context) <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 #8390
&[_]S{}lowered to&.{ _ }, which Zig refuses:'_' used as an identifier without @\"_\" syntax. On 2026-10-10 that one error kept 17 specs from compiling.Cause
A typed literal keeps its dimension in
extra_sizeand its elements as children. With no children, theExprArrayLiteralarm andgen_array_literal_bracesboth readextra_sizeas element text and printed the dimension as an element.Fix
A typed literal (non-empty
extra_type) with no children is the empty list. Two lines in compiler.rs (+4 -5), and FROZEN_HASH moves with them.Checked
specs/compiler/zig_empty_typed_array.t27: BLOCKED on master, 2/2 with the fix, sealed v2.port/.../queen-lease.t27now compiles and passes 10/10._as a value themselves, which is a defect in those specs.t27c suite --corpus-only --ratchet: RATCHET: CLEAN (71/71, no unexpected passes or failures).Part of epic #8095 (P7, #8393).
🤖 Generated with Claude Code