//ww:run-exit 35 // Migrated from 700_e2e row 98. package main; import strconv; type r_t = (i64 | strconv.invalid | strconv.overflow); fn main() i32 = { let r1: r_t = strconv.stoi64("42", strconv.base.DEC); let r2: r_t = strconv.stoi64("-7", strconv.base.DEC); let r3: r_t = strconv.stoi64("abc", strconv.base.DEC); let acc: i32 = 0; match (r1) { case let v: i64 => acc += v: i32; case let e: strconv.invalid => acc += -100; case let e: strconv.overflow => acc += -200; }; match (r2) { case let v: i64 => acc += v: i32; case let e: strconv.invalid => acc += -100; case let e: strconv.overflow => acc += -200; }; match (r3) { case let v: i64 => acc += -100; case let e: strconv.invalid => acc += e: i32; case let e: strconv.overflow => acc += -200; }; return acc; };