//ww:run // #59.9: an enum member OR-fold under `as`. The pre-fix wwstage // checker never typed the N_BIN operand, so cgtypeassert's enum // reinterpret gate missed and lowered a phantom tagged assert that // unconditionally exited 1. package main; type mask = enum u32 { A = 1, B = 2, C = 4 }; fn main() i32 = { let w: u32 = (mask.A | mask.B | mask.C) as u32; if (w != 7u32) { return 1; }; let v: u32 = (mask.A | mask.C) as u32; if (v != 5u32) { return 2; }; return 0; };