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.
18 lines
374 B
Plaintext
18 lines
374 B
Plaintext
//ww:run-exit 4
|
|
package main;
|
|
import encoding.utf8;
|
|
fn classify(d: *utf8.decoder) int = {
|
|
match (utf8.next(d)) {
|
|
case let r: rune => return 1;
|
|
case let dn: utf8.done => return 2;
|
|
case let m: utf8.more => return 3;
|
|
case let e: utf8.invalid => return 4;
|
|
};
|
|
return 0;
|
|
};
|
|
export fn main() int = {
|
|
let s: []u8 = [255u8];
|
|
let d = utf8.decode(s);
|
|
return classify(&d);
|
|
};
|