Files
ww/test/wcc/data/call_arity_missing/case.ww
Hojun-Cho 503d1ab01e wcc: wwstage checks call arity at desugarcallargs
cstage rejects `add(1,2,3)` and `add(4)` (too many / not enough
arguments); wwstage ran no count check at this seam, so both built
-- a stray arg pushed silently, a missing one read garbage
(cs-reject/ww-accept build-verdict divergence). Surplus errs when
params exhaust with args left; missing errs on a leftover regular
param (a leftover TK_ELLIPSIS or FFI "..." is a legal zero-arg
variadic tail). fn-VALUE callees still bail at decl==nil -- their
whole typecheck, arity included, stays task #51.
2026-08-09 01:33:14 +09:00

9 lines
231 B
Plaintext

//ww:error "not enough arguments"
// Arity, missing side: the callee read a garbage second param slot.
package main;
fn add(a: i64, b: i64) i64 = { return a + b; };
export fn main() i32 = {
let x: i64 = add(4);
return x: i32;
};