You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
t27b: lower the parameter discard _ = p; (StmtAssign(undeclared)) #7057
A port that keeps a parameter for its interface writes _ = p;. t27c prints that as written in Zig and the reference passes it, but t27b treats _ as an assignment target and refuses the file with StmtAssign(undeclared): "assignment to undeclared _".
Final rule in #7111, measured on the Railway lab: a top-level _ = p; is always accepted, because t27c's dead-store pass deletes it. A nested _ = p; is refused only when the body also uses p, which is the case Zig rejects as a pointless discard. Discards alone compile, whether repeated, in both arms of an if, or for a parameter that shares a module declaration's name, and the reference passes them.
Activity
t27b: a top-level `_ = p;` is deleted as the reference deletes it (Cl…
t27b: a nested `_ = p;` is refused only next to a use of `p` (Closes #…
Merge origin/master into claude/t27b-lane1-param-discard (Closes #7057)
queen-rehearsal: the caller owns the content buffer, no dangling slice (
t27b ledger and NOW entry for parameter discards (Closes #7057)
Merge origin/master into claude/t27b-lane1-param-discard (Closes #7057)
gHashTag commentedon Oct 6, 2026
Final rule in #7111, measured on the Railway lab: a top-level
_ = p;is always accepted, because t27c's dead-store pass deletes it. A nested_ = p;is refused only when the body also usesp, which is the case Zig rejects as a pointless discard. Discards alone compile, whether repeated, in both arms of anif, or for a parameter that shares a module declaration's name, and the reference passes them.Merge origin/master into claude/t27b-lane1-param-discard (Refs #7057)
t27b: `_ = p;` for a parameter lowers to nothing where the reference …