//ww:run-exit 219 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 g: []u8 = [65u8]; let dg = utf8.decode(g); let a = classify(&dg); let b = classify(&dg); let bad: []u8 = [255u8]; let db = utf8.decode(bad); let c = classify(&db); let tr: []u8 = [195u8]; let dt = utf8.decode(tr); let e = classify(&dt); return a * 1000 + b * 100 + c * 10 + e; };