nx_forlist_probe.nx source
↩ module page · 23 lines · 694 B
1// nx_forlist_probe.nx -- minimal @for VALUE-LIST repro, isolated from v8's nested/@concat cases.
2// expect_exit: 0 license_tier: ORIGINAL
3
4import "nx_syscalls.nx"
5
6func flp_w(s: *u8) -> i64 {
7 var n: i64 = 0
8 while s[n] != (0 as u8) { n = n + 1 }
9 sys_write(1, s, n)
10 return 0
11}
12
13@for(op in {add, sub, mul}) {
14 func flp_${op}_tag() -> i64 { return 7 }
15}
16
17func main() -> i64 {
18 if flp_add_tag() != 7 { flp_w("ADD FAIL\n" as *u8); return 1 }
19 if flp_sub_tag() != 7 { flp_w("SUB FAIL\n" as *u8); return 2 }
20 if flp_mul_tag() != 7 { flp_w("MUL FAIL\n" as *u8); return 3 }
21 flp_w("FORLIST-PROBE OK: {add, sub, mul} pasted via braced dollar-op\n" as *u8)
22 return 0
23}