Repository navigation
Seed emitter: tail-call match lowering shares the #8570 Rc arm grouping - #12742
Conversation
emit_rust_tco_match rendered every nested variant under an Rc field as a match guard, so an enumerated nested arm set in a tail-recursive fold was E0004 (gunbc.recurring_failure_mode tail_call_match_lowering_skips_rc_arm_grouping). The grouping fold is now one function, rc_grouped_match_arm_strs, parameterized by the arm-body emitter; the ordinary and tail-call lowerings both call it. Fixture tco_rc_grouped_match_emitted_rust: red (E0004) on the prior seed, green (compiles and runs) after. Stage0 regenerated via claim_executor --regen-round-cost until rebuild_packages=0. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…b receipt (rung stays 1) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
Review 73050: the RFM row now lands in this PR ( |
|
Review 73066, advisory hand-Rust receipt item: I'm not adding a seed-growth roster row for |
…#12742 changed the emitter) Produced by claim_executor --regen-round-cost --regen-affected-scope pinned at 716c3c8 on BuildBuddy. Pass 2 wrote this one path (patch sha256 prefix 38e4ce8b672565d5) and was then killed (rc=137) in the 20 GiB leaf. The byte-identical third pass did not run before the 1h cap, so this commit's own generated check is the fixed-point verdict. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Fixes RFM
tail_call_match_lowering_skips_rc_arm_grouping(filed on #12667).v1.compiler.emit_rustemit_rust_tco_matchrendered nested variant patterns under an Rc field as match guards, so an exhaustively enumerated tail-recursive match was E0004. The grouping fold is now one function,rc_grouped_match_arm_strs, parameterized by the arm-body emitter; the ordinary and tail-call lowerings both call it — one arm-grouping authority (DESIGN §3, §6b: the emitter's own lowering contract is the earliest unjustified boundary).v1 admission (
gunbc.v1_maintenance_standing v1_seed_standing): serves v2 self-host — the emitter produces the v2 compiler, and the NFR enumeration of v2 sources (target_serializegrammar_tokens_fold_list_targets_into,target_modelconcrete_syntax_token_node_targets_into) is blocked on it. No new semantics.Evidence
tco_rc_grouped_match_emitted_rust: TCO match, enumerated nested variant under Rc, no wildcard — red (E0004) on the prior seed, green after.claim_executor --regen-round-costuntilrebuild_packages=0; only installed bytes committed.🤖 Generated with Claude Code