28 lines
824 B
Plaintext
28 lines
824 B
Plaintext
//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;
|
|
};
|