The r-prefixed waves absorb the runtime, reject, and byte-compare rows of the migrated native carriers; each fixture is one directory with one case.ww and a //ww:error, //ww:compile, //ww:run, or //ww:run-exit directive covering both frontends.
16 lines
532 B
Plaintext
16 lines
532 B
Plaintext
//ww:error "?: multi-success union unwired (task #14): bind and match instead"
|
|
package main;
|
|
type capture = struct { content: str, start: size, end: size };
|
|
fn search2(k: i32) (void | []capture | nomem) = {
|
|
if (k == 0) { return; };
|
|
let caps: []capture = [];
|
|
append(caps, capture { content = "xy", start = 1, end = 3 });
|
|
return caps;
|
|
};
|
|
fn tb(k: i32) (i32 | nomem) = {
|
|
let r: (void | []capture) = search2(k)?;
|
|
if (r is []capture) { return 7; };
|
|
return 8;
|
|
};
|
|
export fn main() i32 = { let x: (i32 | nomem) = tb(1); return 0; };
|