diff --git a/lib/std/fs/File.zig b/lib/std/fs/File.zig index 39111f634d2db4fa1097cb2b7db884f5b5f72bad..325a189fa873e7112d857d17ec6e704b2c18993b 100644 --- a/lib/std/fs/File.zig +++ b/lib/std/fs/File.zig @@ -2026,7 +2026,16 @@ pub const Writer = struct { /// along with other write failures. pub fn end(w: *Writer) EndError!void { try w.interface.flush(); - return w.file.setEndPos(w.pos); + switch (w.mode) { + .positional, + .positional_reading, + => try w.file.setEndPos(w.pos), + + .streaming, + .streaming_reading, + .failure, + => {}, + } } };