Files
ww/test/wcc/data/tldb_nested_tuple_arg/case.ww
Hojun-Cho 07b3c74ab0 test: migrate Fam8 tuple value tests to @test + reject carriers (#5-C2)
fold-2 chunk C2 (drew's Fam8-13 plan): 14 tuple value-row C drivers migrate to
15 test/lang/*_test.ww @test row-tables (the +1 is 954_tuprecv, slimmed not
deleted -- its value rows split out while the asserttyped-stamp dimension stays
as a carrier-split C pin, mutation-proven non-vacuous). Reject rows move to 32
test/wcc/data/*/case.ww //ww:error carriers (runww asserts the substring in
BOTH stages). The test-lang byte-id (LANGBYTEID) gate gives cs==ww automatically
and is strictly more sensitive than re-running the wwstage leg; floor 59->74.
Tuple surfaced zero cs!=ww as the plan predicted -- no value-only carve. The 945
trio folds in here; 940_global_sret / 940_str_forrange / 926_tagscr untouched
(routed to drew per-file). Test count 402->388 = the 14 retired drivers.
2026-06-24 01:44:13 +09:00

16 lines
657 B
Plaintext

//ww:error "tuple element must be a scalar, str, slice, or tagged-union"
// Lifted from test/wcc/945_tuple_lit_declblind_run.c reject row
// "nested_tuple_arg" (#64/#68/rule-7): a NESTED-TUPLE tuple-arg element has
// no transport and stays rule-7 LOUD. The #64/#68 fix graduates ONLY a
// declared-tagged element; the TY_TUPLE/STRUCT/ARRAY arms are preserved, so a
// future widen-everything regression re-breaks this. The substring is the
// shared diagnostic body, byte-identical on both stages (no file:line, no
// cstage "ww: " prefix).
package main;
fn h(t: ((i32, i32), i64)) i32 = {
return 0;
};
export fn main() i32 = {
return h(((1, 2), 3));
};