pub fn discard(r: *Reader, limit: Limit) Error!usize
pub fn discard(r: *Reader, limit: Limit) Error!usize { const buffered_len = r.end - r.seek; const remaining: Limit = if (limit.toInt()) |n| l: { if (buffered_len >= n) { r.seek += n; return n; } break :l .limited(n - buffered_len); } else .unlimited; r.seek = r.end; const n = try r.vtable.discard(r, remaining); assert(n <= @backingInt(remaining)); return buffered_len + n; }