21 lines
396 B
Plaintext
21 lines
396 B
Plaintext
//ww:run-exit 99
|
|
// Migrated from 700_e2e row 49.
|
|
package main;
|
|
fn try1(n: i64) (i64 | i32) = {
|
|
if (n < 0) { return 99: i32; };
|
|
return n;
|
|
};
|
|
fn try2(n: i64) (i64 | i32) = {
|
|
let v: i64 = try1(n)?;
|
|
return v + 100;
|
|
};
|
|
fn main() i32 = {
|
|
let r: (i64 | i32) = try2(-1);
|
|
let s: i64 = 0;
|
|
match (r) {
|
|
case let v: i64 => s = v;
|
|
case let e: i32 => s = e: i64;
|
|
};
|
|
return s: i32;
|
|
};
|