wwstage stamped N_RUNELIT as concrete rune (cstage: untyped_rune, check.c:1296), so an uncast rune literal into a fitting integer slot over-rejected where harec accepts (promote_flexible). Add coercerunelit (mirror of coercefloatlit) at the scalar seams — let-init, return, call-arg, index-store; coarse accept, no range check (mirror cstage type.c:379); array-literal elements keep the range gate (arrlit_init_fits, types.c:923). Teeth: the fnmatch.ww '\\': u8 workaround cast and getopttest's 'X': u8 index-store casts are removed and compile green. Checker-only (no e.type_ restamp): byte-id held.
14 KiB
14 KiB