Files
ww/test/wcc/data/r700_def_sentinel_err/case.ww
Hojun-Cho 956246b3f0 test: migrate 700_e2e rows to corpus fixtures; retire the carrier
136 rows migrated, 0 already owned, 3 wwstage-failing rows held out.
2026-08-08 14:10:46 +09:00

31 lines
721 B
Plaintext

//ww:run-exit 19
// Migrated from 700_e2e row 96.
package main;
type error = str;
def eEOF: error = "eof";
def eShortRead: error = "short read";
fn read(n: i64) (i64 | error) = {
if (n < 0) { return eEOF; };
if (n == 0) { return eShortRead; };
return n + 1;
};
fn main() i32 = {
let r0: (i64 | error) = read(0);
let r1: (i64 | error) = read(-1);
let r2: (i64 | error) = read(5);
let acc: i32 = 0;
match (r0) {
case let v: i64 => acc += 100;
case let e: error => acc += e.len: i32;
};
match (r1) {
case let v: i64 => acc += 100;
case let e: error => acc += e.len: i32;
};
match (r2) {
case let v: i64 => acc += v: i32;
case let e: error => acc += 100;
};
return acc;
};