// A match arm with a variant name that doesn't exist on the subject's // enum/tagged-union produces `error: no variant 'X' on type 'Y'` instead of // falling back to the arm index (which used to cause duplicate switch cases // and LLVM verification failures). #import "modules/std.sx"; Shape :: enum { circle: f32; rect: struct { w, h: f32; }; none; } main :: () { s :Shape = .circle(3.14); if s == { case .circle: (r) { print("r={}\n", r); } case .Bogus: (x) { print("bogus={}\n", x); } case .none: print("none\n"); case .rect: print("rect\n"); } }