test: migrate 802_lenidx to @test + runww rejects, retire C twin (fold-3)

#19 len/index family: value rows -> test/lang/lenidx_test.ww (primitive-only asserts), 3 reject (callres/sliceexpr/strlit) -> runww //ww:error dual-stage carriers. byteid floor 52->53.
This commit is contained in:
2026-06-22 16:53:49 +09:00
parent 057e805cf0
commit 04f163dde6
6 changed files with 174 additions and 427 deletions

View File

@@ -0,0 +1,9 @@
//ww:error "len() operand shape not place-resolvable (rule-7)"
// Lifted from test/wcc/802_lenidx_run.c reject row "reject_strlit"
// (#10/#41/rule-7): len() over a string LITERAL is not a place-resolvable
// operand and MUST loud-fail in both stages, not silently return the data
// pointer as the length. The substring is the shared diagnostic body —
// byte-identical on both stages (no file:line, no cstage "ww: " prefix —
// both differ cs vs ww).
package main;
export fn main() i32 = { return len("abc"): i32; };