ref: d534f4ba7940abe04a5e8e12b3b41a86dc0a7107
dir: /test/matchargstr.myr/
use std
/* checks pattern matching on unions with arguments.
exits with 42. */
type u = union
`Int int
`Str byte[:]
`Nil
;;
const main = {
var v
v = `Str "asdf"
match v
| `Int 127: std.fatal(1, "wrong match `Int 127\n")
| `Str "foo": std.fatal(1, "Wrong match `Str \"foo\"\n")
| `Str "fsda": std.fatal(1, "Wrong match `Str \"fsda\"\n")
| `Str "asdf": std.put("Correct `Str \"asdf\"!\n")
| `Nil: std.fatal(1, "Wrong match `Str \"fsda\"\n")
| _: std.fatal(1, "Impossible failed match\n")
;;
}