code wiki / (root) / nx_probe_ctor.nx

nx_probe_ctor.nx source

↩ module page · 13 lines · 684 B

1// nx_probe_ctor.nx -- bisect the tagged-enum SIGSEGV: does the CONSTRUCTOR alone 2// (no match) return a usable non-null pointer? exit 0 = ctor ok. expect_exit: 0 3// D001-migrated 2026-08-02: canonical gv_verdict tail + harness.jrnl frame (permanent witness stays permanent). 4import "nx_gate_verdict.nx" 5enum Opt { None, Some(i64) } 6func main() -> i64 { 7 let o: *Opt = Opt::Some(42) 8 var ok: i64 = 0 9 if (o as i64) != 0 { ok = 1 } 10 let ctr: *i64 = gv_ctr() 11 gv_check("T1 tagged-enum constructor returns non-null (the enum-ctor SIGSEGV class, fixed 2026-07-09)" as *u8, ok, ctr) 12 return gv_verdict("PROBE-CTOR" as *u8, ctr, "enum constructor witness green" as *u8) 13}