Repository navigation
t27b: std.debug.print lowers by a plan in t27 -- zig_open_slice passes, reel_particles_mux loses its std.* blocker (Closes #10449) - #10455
Merged
Conversation
gHashTag
enabled auto-merge (squash)
October 18, 2026 12:40
Contributor
…s, reel_particles_mux loses its std.* blocker (Closes #10449) debug_print_plan.t27 decides: in a fn Zig never analyzes, a print is skipped and its arguments are not lowered; in an analyzed fn, a literal format with a tuple that fits (check) runs its arguments in order, once each, and drops them; anything else is refused with a name and a detail. builtin_plan.t27 gains the assert and eval-branch-quota plans that lower.rs glue held inline. lower.rs net is -27 lines. Conformance cases are in discard_value.t27, and tail.rs pins its test count (5 -> 7). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
gHashTag
force-pushed
the
claude/interesting-hypatia-1df4a0
branch
from
October 18, 2026 12:41
3efff9c to
7aa6e92
Compare
Contributor
PR DashboardGenerated at: 2026-10-18 12:49:03 UTC
Summary
Seal Status
|
This was referenced Oct 18, 2026
Merged
Merged
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 #10449
Follow-up to #10423 / #10431 (t27b coverage epic #6063).
What
std.debug.printwas refused withExprCall(std.*). Nowspecs/tri/t27b/debug_print_plan.t27decides how it lowers, andlower.rsonly reads the node and builds the answer.print("literal", .{ args }): the arguments are lowered in order, once each, and dropped (drop_value), oncecheck(fmt, kinds)accepts the format against the argument kinds. The matrix was measured on zig 0.16:{}and{d}of ints and floats,{}of a bool,{s}of a string or byte slice or byte array,{{/}}, width/fill/align,{d:.2},{s:.2}.{d}of a bool or slice,{s}of an integer, a non-literal format) is refused with a name and a detail from the plan. The reference does not compile those in an analyzed fn.Files
specs/tri/t27b/debug_print_plan.t27(new, 22 tests) and its generatedgen/rust/tri/t27b/debug_print_plan.rs(gitignored, added with-f).specs/tri/t27b/builtin_plan.t27andgen/rust/tri/t27b/builtin_plan.rs: theassertand eval-branch-quota decisions thatlower.rsheld inline move into the plan, with 4 tests (25 now). This pays for the print glue.cli/t27b/src/lower.rs: 40 added, 67 deleted (net -27).tail.rs: 2 lines changed (a test count 5 -> 7).specs/tri/t27b/conformance/discard_value.t27: print cases (order, every measured shape, an uncalled fn with bad prints). No new file; 7 tests.t27b_T27bDebugPrintPlan.json).docs/reports/t27b_expectations.json:specs/compiler/zig_open_slice.t27moves topass, a row fordebug_print_plan.t27is added,max_not_passgoes from 75 to 74.Evidence (Railway lab, t27b aarch64 under qemu, t27c release, rebased on master with #10431)
t27b test --checkt27c test-reportt27b test --blockersno longer listsExprCall(std.*)for reel_particles_mux or zig_open_slice. reel_particles_mux now passes in full (its@modblocker went with t27b: a narrow signed @mod widens to the i64 routine -- arena_heap and file_io_contract pass (Closes #10423) #10431). It has no ledger row; the ledger refresh handles it.specs(2247 files): no ledgered row changed except zig_open_slice (blocked to pass). 34 rows readtimeouton this loaded qemu lab at the default 10 s, none of them print-related; the 18failfiles are not ledgered and none containsstd.debug.print.source59,tail25,blockers10,stdmem5,vacuous3, all pass.No timing here is a speed result (qemu).
🤖 Generated with Claude Code