// Comptime `#run` of a failable whose error ESCAPES (no `catch` / `or`): the // compiler reports the raised tag name + the return trace at the `#run` site and // halts with a non-zero exit (E5.2). Before this, a bare failable `#run` // segfaulted (const form) or silently succeeded (statement form). #import "modules/std.sx"; E :: error { Bad, Empty } parse :: (n: s32) -> (s32, !E) { if n < 0 { raise error.Bad; } if n == 0 { raise error.Empty; } return n * 2; } x :: #run parse(-1); // error.Bad escapes → comptime diagnostic + halt main :: () -> s32 { return x; }