use "errno"use "result"use "option"use "syswrap"use "types" pkg std = const writeall : (fd : fd, src : byte[:] -> std.result(size, (size, errno)));; const writeall = {fd, src var sz sz = src.len while src.len != 0 match std.write(fd, src) | `Err e: -> `std.Err (sz, e) | `Ok 0: -> `std.Err (sz, 0) | `Ok n: src = src[n:] ;; ;; -> `std.Ok sz}
use "errno"
use "result"
use "option"
use "syswrap"
use "types"
pkg std =
const writeall : (fd : fd, src : byte[:] -> std.result(size, (size, errno)))
;;
const writeall = {fd, src
var sz
sz = src.len
while src.len != 0
match std.write(fd, src)
| `Err e: -> `std.Err (sz, e)
| `Ok 0: -> `std.Err (sz, 0)
| `Ok n: src = src[n:]
;;
;;
-> `std.Ok sz
}