Files
ww/test/wcc/data/r775_branched_readers/case.ww
Hojun-Cho d456263f7e test/wcc/data: grow the declarative compiler corpus to 1,224 fixtures
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.
2026-08-07 23:21:04 +09:00

27 lines
729 B
Plaintext

//ww:run-exit 95
// Migrated from 775_io_vtable_run row branched_readers.
package main;
import io;
fn r1(s: io.stream, buf: []u8) (size | io.eof | io.error) = {
return 1: size;
};
fn r2(s: io.stream, buf: []u8) (size | io.eof | io.error) = {
return 2: size;
};
export fn main() i32 = {
let vt1: io.vtable;
let vt2: io.vtable;
vt1.reader = (&r1): *io.reader;
vt2.reader = (&r2): *io.reader;
let buf: [4]u8;
let bs: []u8 = buf[0:4];
let a = io.read(&vt1, bs);
let b = io.read(&vt2, bs);
let asz: size = 0;
let bsz: size = 0;
if (a is size) { asz = a as size; };
if (b is size) { bsz = b as size; };
if (asz == 1: size && bsz == 2: size) { return 95; };
return 99;
};