This is an example of documentation generated by ZigDoc, an alternative to Zig's built-in Auto Doc feature. See also examples in other modes/formats. The project being documented here (as the example) is the Zig library itself.
fnstreamFallible(d: *Decompress, w: *Writer, limit: std.Io.Limit) Reader.StreamError!usize {
returnstreamInner(d, w, limit) catch |err| switch (err) {
error.EndOfStream => {
if (d.state == .end) {
returnerror.EndOfStream;
} else {
d.err = error.EndOfStream;
returnerror.ReadFailed;
}
},
error.WriteFailed => |e| returne,
else => |e| {
// In the event of an error, state is unmodified so that it can be
// better used to diagnose the failure.
d.err = e;
returnerror.ReadFailed;
},
};
}