wwstage's typeeqast lacked the identity short-circuit cstage type_eq opens with (cmd/wcc/type.c:250 `if (a == b) return 1`). Enum/struct/ array type nodes are shared from their decl, so two references to the same type resolve to one node; without the fast-path the catch-all returns false. Exposed by #26's integer-mismatch reject, which fired on a same-enum binop like w6l's `os.flag.WRONLY|CREATE|TRUNC` that cstage accepts via this check. Corpus output unchanged (the w6c_ww/ wwdump_ww binaries move because check.ww regenerates combined.ww).
271 KiB
271 KiB