c136f3c0f7d6713d87fccd1b31e11eff78f03a06
The exact B6-c4 set (rob b6 spec §2, numbering at4cac1cb): :9422 (N_MATCH Family-C identity-cast peel su), :9598 (match-bind base bu), :9674 (tryprop non-call source u), :9718 (cg_ret_type peel r at the cgexpr try region — same rt-route kinship as B5-c3's cgreturn chase: the nullable/tagged propagate keys the chased enclosing return type exactly as the return arms do), :9819 (tryunw twin u — LOUD-PRESERVING ONLY, the #38b sret bound is alias-INDEPENDENT), :9986/:9991 (N_TYPEASSERT u + enum vu), :10103/:10105 (str→[]u8 cap-synth tu/fu), :10131 (narrowing-cast tu). Raw `->under` in cgen.c 27→17 — remaining = whitelist 5 (:731 :813/:814 :834/:835) + B7 emitters 4 + the c5 set 8, grep-verified exact. FLIP: kb6_strcast (str→[]u8 over 2-level alias, was both-correct divergent NO(2)) → 0/0 BYTE-ID; cs converged onto ww's UNCHANGED asm (#263 polarity, cmp-proven) and the alias shape now equals the plain shape (kb6_strcast_p, same hash — ken's c4 pre-test confirmed ww's dedicated gate DOES fire on alias here, unlike the c3 sites). kb6_try loud held both stages with the pinned #38b text (try_loud_38b row); idcast/is/succ byte-id held; zero other movers. TRAIN INVARIANT: cs-only; w6c_ww/ww_ww bit-identical to the4cac1cbbaselines (b6bddc8e…/4e9ca874…). cs movers c3→c4 bounded to exactly {kb6_strcast}; rest of corpus + five mains byte-NEUTRAL; detectors unmoved; 989 ratchet zero flips. 944_alias_cgen_b6_run grows 14→18 rows, 38→49 checks: strcast_2lvl flip + idcast_2lvl/is_2lvl controls + try_loud_38b both-loud pin. All 944-family suites green; sizelint 0.
wcc/check: #62 typedecl layout is decl-order-INDEPENDENT — demand-resolve forward refs + loud cycle guard (#69)
Description
No description provided
Languages
C
89.4%
Python
7.2%
Makefile
2.3%
Shell
0.8%
Assembly
0.3%