| ... | @@ -3770,7 +3770,7 @@ fn dirReadHaiku(userdata: ?*anyopaque, dr: *Dir.Reader, buffer: []Dir.Entry) Dir | ... | @@ -3770,7 +3770,7 @@ fn dirReadHaiku(userdata: ?*anyopaque, dr: *Dir.Reader, buffer: []Dir.Entry) Dir |
| 3770 | _ = userdata; | 3770 | _ = userdata; |
| 3771 | _ = dr; | 3771 | _ = dr; |
| 3772 | _ = buffer; | 3772 | _ = buffer; |
| 3773 | @panic("TODO"); | 3773 | @panic("TODO implement dirReadHaiku"); |
| 3774 | } | 3774 | } |
| 3775 | | 3775 | |
| 3776 | fn dirReadWindows(userdata: ?*anyopaque, dr: *Dir.Reader, buffer: []Dir.Entry) Dir.Reader.Error!usize { | 3776 | fn dirReadWindows(userdata: ?*anyopaque, dr: *Dir.Reader, buffer: []Dir.Entry) Dir.Reader.Error!usize { |
| ... | @@ -5250,7 +5250,7 @@ fn dirSetPermissionsWindows(userdata: ?*anyopaque, dir: Dir, permissions: Dir.Pe | ... | @@ -5250,7 +5250,7 @@ fn dirSetPermissionsWindows(userdata: ?*anyopaque, dir: Dir, permissions: Dir.Pe |
| 5250 | _ = t; | 5250 | _ = t; |
| 5251 | _ = dir; | 5251 | _ = dir; |
| 5252 | _ = permissions; | 5252 | _ = permissions; |
| 5253 | @panic("TODO"); | 5253 | @panic("TODO implement dirSetPermissionsWindows"); |
| 5254 | } | 5254 | } |
| 5255 | | 5255 | |
| 5256 | fn dirSetPermissionsPosix(userdata: ?*anyopaque, dir: Dir, permissions: Dir.Permissions) Dir.SetPermissionsError!void { | 5256 | fn dirSetPermissionsPosix(userdata: ?*anyopaque, dir: Dir, permissions: Dir.Permissions) Dir.SetPermissionsError!void { |
| ... | @@ -5268,7 +5268,7 @@ fn dirSetFilePermissions( | ... | @@ -5268,7 +5268,7 @@ fn dirSetFilePermissions( |
| 5268 | options: Dir.SetFilePermissionsOptions, | 5268 | options: Dir.SetFilePermissionsOptions, |
| 5269 | ) Dir.SetFilePermissionsError!void { | 5269 | ) Dir.SetFilePermissionsError!void { |
| 5270 | if (@sizeOf(Dir.Permissions) == 0) return; | 5270 | if (@sizeOf(Dir.Permissions) == 0) return; |
| 5271 | if (is_windows) @panic("TODO"); | 5271 | if (is_windows) @panic("TODO implement dirSetFilePermissions windows"); |
| 5272 | const t: *Threaded = @ptrCast(@alignCast(userdata)); | 5272 | const t: *Threaded = @ptrCast(@alignCast(userdata)); |
| 5273 | const current_thread = Thread.getCurrent(t); | 5273 | const current_thread = Thread.getCurrent(t); |
| 5274 | | 5274 | |
| ... | @@ -5557,7 +5557,7 @@ fn dirSetFileOwner( | ... | @@ -5557,7 +5557,7 @@ fn dirSetFileOwner( |
| 5557 | _ = owner; | 5557 | _ = owner; |
| 5558 | _ = group; | 5558 | _ = group; |
| 5559 | _ = options; | 5559 | _ = options; |
| 5560 | @panic("TODO"); | 5560 | @panic("TODO implement dirSetFileOwner"); |
| 5561 | } | 5561 | } |
| 5562 | | 5562 | |
| 5563 | const fileSync = switch (native_os) { | 5563 | const fileSync = switch (native_os) { |
| ... | @@ -6012,11 +6012,11 @@ fn dirSetTimestamps( | ... | @@ -6012,11 +6012,11 @@ fn dirSetTimestamps( |
| 6012 | const current_thread = Thread.getCurrent(t); | 6012 | const current_thread = Thread.getCurrent(t); |
| 6013 | | 6013 | |
| 6014 | if (is_windows) { | 6014 | if (is_windows) { |
| 6015 | @panic("TODO"); | 6015 | @panic("TODO implement dirSetTimestamps windows"); |
| 6016 | } | 6016 | } |
| 6017 | | 6017 | |
| 6018 | if (native_os == .wasi and !builtin.link_libc) { | 6018 | if (native_os == .wasi and !builtin.link_libc) { |
| 6019 | @panic("TODO"); | 6019 | @panic("TODO implement dirSetTimestamps wasi"); |
| 6020 | } | 6020 | } |
| 6021 | | 6021 | |
| 6022 | const times: [2]posix.timespec = .{ | 6022 | const times: [2]posix.timespec = .{ |
| ... | @@ -6063,11 +6063,11 @@ fn dirSetTimestampsNow( | ... | @@ -6063,11 +6063,11 @@ fn dirSetTimestampsNow( |
| 6063 | const current_thread = Thread.getCurrent(t); | 6063 | const current_thread = Thread.getCurrent(t); |
| 6064 | | 6064 | |
| 6065 | if (is_windows) { | 6065 | if (is_windows) { |
| 6066 | @panic("TODO"); | 6066 | @panic("TODO implement dirSetTimestampsNow windows"); |
| 6067 | } | 6067 | } |
| 6068 | | 6068 | |
| 6069 | if (native_os == .wasi and !builtin.link_libc) { | 6069 | if (native_os == .wasi and !builtin.link_libc) { |
| 6070 | @panic("TODO"); | 6070 | @panic("TODO implement dirSetTimestampsNow wasi"); |
| 6071 | } | 6071 | } |
| 6072 | | 6072 | |
| 6073 | const flags: u32 = if (!options.follow_symlinks) posix.AT.SYMLINK_NOFOLLOW else 0; | 6073 | const flags: u32 = if (!options.follow_symlinks) posix.AT.SYMLINK_NOFOLLOW else 0; |
| ... | @@ -6188,7 +6188,7 @@ fn fileSetTimestampsNow(userdata: ?*anyopaque, file: File) File.SetTimestampsErr | ... | @@ -6188,7 +6188,7 @@ fn fileSetTimestampsNow(userdata: ?*anyopaque, file: File) File.SetTimestampsErr |
| 6188 | const current_thread = Thread.getCurrent(t); | 6188 | const current_thread = Thread.getCurrent(t); |
| 6189 | | 6189 | |
| 6190 | if (is_windows) { | 6190 | if (is_windows) { |
| 6191 | @panic("TODO"); | 6191 | @panic("TODO implement fileSetTimestampsNow windows"); |
| 6192 | } | 6192 | } |
| 6193 | | 6193 | |
| 6194 | if (native_os == .wasi and !builtin.link_libc) { | 6194 | if (native_os == .wasi and !builtin.link_libc) { |
| ... | @@ -6836,7 +6836,7 @@ fn fileReadPositionalPosix(userdata: ?*anyopaque, file: File, data: []const []u8 | ... | @@ -6836,7 +6836,7 @@ fn fileReadPositionalPosix(userdata: ?*anyopaque, file: File, data: []const []u8 |
| 6836 | const t: *Threaded = @ptrCast(@alignCast(userdata)); | 6836 | const t: *Threaded = @ptrCast(@alignCast(userdata)); |
| 6837 | const current_thread = Thread.getCurrent(t); | 6837 | const current_thread = Thread.getCurrent(t); |
| 6838 | | 6838 | |
| 6839 | if (!have_preadv) @compileError("TODO"); | 6839 | if (!have_preadv) @compileError("TODO implement fileReadPositionalPosix for cursed operating systems that don't support preadv (it's only Haiku)"); |
| 6840 | | 6840 | |
| 6841 | var iovecs_buffer: [max_iovecs_len]posix.iovec = undefined; | 6841 | var iovecs_buffer: [max_iovecs_len]posix.iovec = undefined; |
| 6842 | var i: usize = 0; | 6842 | var i: usize = 0; |
| ... | @@ -7448,7 +7448,7 @@ fn fileWritePositional( | ... | @@ -7448,7 +7448,7 @@ fn fileWritePositional( |
| 7448 | const t: *Threaded = @ptrCast(@alignCast(userdata)); | 7448 | const t: *Threaded = @ptrCast(@alignCast(userdata)); |
| 7449 | const current_thread = Thread.getCurrent(t); | 7449 | const current_thread = Thread.getCurrent(t); |
| 7450 | | 7450 | |
| 7451 | if (is_windows) @panic("TODO"); | 7451 | if (is_windows) @panic("TODO implement fileWritePositional windows"); |
| 7452 | | 7452 | |
| 7453 | var iovecs: [max_iovecs_len]posix.iovec_const = undefined; | 7453 | var iovecs: [max_iovecs_len]posix.iovec_const = undefined; |
| 7454 | var iovlen: iovlen_t = 0; | 7454 | var iovlen: iovlen_t = 0; |
| ... | @@ -7570,7 +7570,7 @@ fn fileWriteStreaming( | ... | @@ -7570,7 +7570,7 @@ fn fileWriteStreaming( |
| 7570 | const t: *Threaded = @ptrCast(@alignCast(userdata)); | 7570 | const t: *Threaded = @ptrCast(@alignCast(userdata)); |
| 7571 | const current_thread = Thread.getCurrent(t); | 7571 | const current_thread = Thread.getCurrent(t); |
| 7572 | | 7572 | |
| 7573 | if (is_windows) @panic("TODO"); | 7573 | if (is_windows) @panic("TODO implement fileWriteStreaming windows"); |
| 7574 | | 7574 | |
| 7575 | var iovecs: [max_iovecs_len]posix.iovec_const = undefined; | 7575 | var iovecs: [max_iovecs_len]posix.iovec_const = undefined; |
| 7576 | var iovlen: iovlen_t = 0; | 7576 | var iovlen: iovlen_t = 0; |
| ... | @@ -8085,7 +8085,7 @@ fn netWriteFile( | ... | @@ -8085,7 +8085,7 @@ fn netWriteFile( |
| 8085 | _ = header; | 8085 | _ = header; |
| 8086 | _ = file_reader; | 8086 | _ = file_reader; |
| 8087 | _ = limit; | 8087 | _ = limit; |
| 8088 | @panic("TODO"); | 8088 | @panic("TODO implement netWriteFile"); |
| 8089 | } | 8089 | } |
| 8090 | | 8090 | |
| 8091 | fn netWriteFileUnavailable( | 8091 | fn netWriteFileUnavailable( |