// `??` default whose type can't match a 1-tuple optional payload is a clean // diagnostic, not an LLVM PHI-type crash. // // Regression (issue 0180): `?(i32,) ?? 5` built a merge PHI of `{i32}` (the // unwrapped 1-tuple payload) vs `i32` (the scalar default) and aborted the // LLVM verifier. There is no implicit scalar->1-tuple coercion (a 1-tuple // value is written `(5,)`), so the mismatch is now reported at the default. #import "modules/std.sx"; main :: () { o : ?(i32,) = null; x := o ?? 5; // default 'i64' vs payload '(i32,)' -> diagnostic print("{}\n", x.0); }