The sym carried an is_const flag (lib/ww/sym.ww) but wwstage never set it at the let-install nor consumed it at assignment, so mutating a `const` slipped through silently. Mirror cstage's two sites: set is_const when n.op == TK_CONST at the local let-install (cmd/wcc/ check.c:2408) and reject an N_ASSIGN whose lhs ident resolves to an is_const sym (cmd/wcc/check.c:1889-1896). cstage already rejected; this aligns wwstage's w6c_ww UP. A bare `_` discard lvalue (empty str) is skipped. Regen w6c/wwdump combined.ww (checker embeds in both). Valid-program codegen unchanged → cs==ww byte-id gate stays green.
140 KiB
140 KiB