//ww:run-exit 42 package main; type pair = struct { x: i64, y: i64, z: i64 }; type tag = (pair | i32); type holder = struct { e: tag, mark: i32 }; fn main() i32 = { let h: holder; h.mark = 99; h.e = (42i32: tag); match (h.e) { case let v: pair => return -1; case let z: i32 => return z; }; };