// #15 negative fixture: an @test fn with a non-`fn() void` signature. // The collector must loud-reject (nonzero exit) rather than silently // skip or coerce — rule-7. Pins the signature guard on both stages. // // TEETH: a non-void RETURN with NO params is the case ONLY the explicit // guard catches. The synth entry emits `bad();` (arg count matches 0 // params) and a discarded non-void return is silently allowed, so // without the guard this compiles clean (exit 0). A param-bearing @test // would instead trip the checker's independent "not enough arguments" // (check.c:1879) on the synth `bad()` call — so a param fixture would // pass the reject probe whether or not the guard exists, isolating // nothing. Hence the no-param / non-void-return shape. package data; @test fn bad() i32 = { return 0; };