authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-08-08 17:17:38-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2025-08-08 17:17:53-07:00
log045bb1489767961857085d89645de6bd1d17847d
treede6db2ae3cd9e8de4ff8ab86e7167f45d349eb73
parent8c9dfcbd0f9c1be860becf0c35877fde803d9e29

zig std: fix build failures


5 files changed, 14 insertions(+), 17 deletions(-)

lib/compiler/std-docs.zig+8-11
...@@ -93,9 +93,12 @@ pub fn main() !void {...@@ -93,9 +93,12 @@ pub fn main() !void {
93fn accept(context: *Context, connection: std.net.Server.Connection) void {93fn accept(context: *Context, connection: std.net.Server.Connection) void {
94 defer connection.stream.close();94 defer connection.stream.close();
9595
96 var read_buffer: [8000]u8 = undefined;96 var recv_buffer: [4000]u8 = undefined;
97 var server = std.http.Server.init(connection, &read_buffer);97 var send_buffer: [4000]u8 = undefined;
98 while (server.state == .ready) {98 var conn_reader = connection.stream.reader(&recv_buffer);
99 var conn_writer = connection.stream.writer(&send_buffer);
100 var server = std.http.Server.init(conn_reader.interface(), &conn_writer.interface);
101 while (server.reader.state == .ready) {
99 var request = server.receiveHead() catch |err| switch (err) {102 var request = server.receiveHead() catch |err| switch (err) {
100 error.HttpConnectionClosing => return,103 error.HttpConnectionClosing => return,
101 else => {104 else => {
...@@ -175,8 +178,7 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {...@@ -175,8 +178,7 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {
175 const gpa = context.gpa;178 const gpa = context.gpa;
176179
177 var send_buffer: [0x4000]u8 = undefined;180 var send_buffer: [0x4000]u8 = undefined;
178 var response = request.respondStreaming(.{181 var response = try request.respondStreaming(&send_buffer, .{
179 .send_buffer = &send_buffer,
180 .respond_options = .{182 .respond_options = .{
181 .extra_headers = &.{183 .extra_headers = &.{
182 .{ .name = "content-type", .value = "application/x-tar" },184 .{ .name = "content-type", .value = "application/x-tar" },
...@@ -191,11 +193,7 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {...@@ -191,11 +193,7 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {
191 var walker = try std_dir.walk(gpa);193 var walker = try std_dir.walk(gpa);
192 defer walker.deinit();194 defer walker.deinit();
193195
194 var adapter_buffer: [500]u8 = undefined;196 var archiver: std.tar.Writer = .{ .underlying_writer = &response.writer };
195 var response_writer = response.writer().adaptToNewApi();
196 response_writer.new_interface.buffer = &adapter_buffer;
197
198 var archiver: std.tar.Writer = .{ .underlying_writer = &response_writer.new_interface };
199 archiver.prefix = "std";197 archiver.prefix = "std";
200198
201 while (try walker.next()) |entry| {199 while (try walker.next()) |entry| {
...@@ -229,7 +227,6 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {...@@ -229,7 +227,6 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {
229227
230 // intentionally omitting the pointless trailer228 // intentionally omitting the pointless trailer
231 //try archiver.finish();229 //try archiver.finish();
232 try response_writer.new_interface.flush();
233 try response.end();230 try response.end();
234}231}
235232
lib/std/Io.zig+2-2
...@@ -387,11 +387,11 @@ pub fn GenericWriter(...@@ -387,11 +387,11 @@ pub fn GenericWriter(
387 }387 }
388388
389 /// Helper for bridging to the new `Writer` API while upgrading.389 /// Helper for bridging to the new `Writer` API while upgrading.
390 pub fn adaptToNewApi(self: *const Self) Adapter {390 pub fn adaptToNewApi(self: *const Self, buffer: []u8) Adapter {
391 return .{391 return .{
392 .derp_writer = self.*,392 .derp_writer = self.*,
393 .new_interface = .{393 .new_interface = .{
394 .buffer = &.{},394 .buffer = buffer,
395 .vtable = &.{ .drain = Adapter.drain },395 .vtable = &.{ .drain = Adapter.drain },
396 },396 },
397 };397 };
lib/std/Io/DeprecatedWriter.zig+2-2
...@@ -83,11 +83,11 @@ pub fn writeFile(self: Self, file: std.fs.File) anyerror!void {...@@ -83,11 +83,11 @@ pub fn writeFile(self: Self, file: std.fs.File) anyerror!void {
83}83}
8484
85/// Helper for bridging to the new `Writer` API while upgrading.85/// Helper for bridging to the new `Writer` API while upgrading.
86pub fn adaptToNewApi(self: *const Self) Adapter {86pub fn adaptToNewApi(self: *const Self, buffer: []u8) Adapter {
87 return .{87 return .{
88 .derp_writer = self.*,88 .derp_writer = self.*,
89 .new_interface = .{89 .new_interface = .{
90 .buffer = &.{},90 .buffer = buffer,
91 .vtable = &.{ .drain = Adapter.drain },91 .vtable = &.{ .drain = Adapter.drain },
92 },92 },
93 };93 };
lib/std/fmt.zig+1-1
...@@ -80,7 +80,7 @@ pub const Number = struct {...@@ -80,7 +80,7 @@ pub const Number = struct {
8080
81/// Deprecated in favor of `Writer.print`.81/// Deprecated in favor of `Writer.print`.
82pub fn format(writer: anytype, comptime fmt: []const u8, args: anytype) !void {82pub fn format(writer: anytype, comptime fmt: []const u8, args: anytype) !void {
83 var adapter = writer.adaptToNewApi();83 var adapter = writer.adaptToNewApi(&.{});
84 return adapter.new_interface.print(fmt, args) catch |err| switch (err) {84 return adapter.new_interface.print(fmt, args) catch |err| switch (err) {
85 error.WriteFailed => return adapter.err.?,85 error.WriteFailed => return adapter.err.?,
86 };86 };
tools/gen_spirv_spec.zig+1-1
...@@ -84,7 +84,7 @@ pub fn main() !void {...@@ -84,7 +84,7 @@ pub fn main() !void {
8484
85 const output_buf = try allocator.alloc(u8, 1024 * 1024);85 const output_buf = try allocator.alloc(u8, 1024 * 1024);
86 var fbs = std.io.fixedBufferStream(output_buf);86 var fbs = std.io.fixedBufferStream(output_buf);
87 var adapter = fbs.writer().adaptToNewApi();87 var adapter = fbs.writer().adaptToNewApi(&.{});
88 const w = &adapter.new_interface;88 const w = &adapter.new_interface;
89 try render(w, core_spec, exts.items);89 try render(w, core_spec, exts.items);
90 var output: [:0]u8 = @ptrCast(fbs.getWritten());90 var output: [:0]u8 = @ptrCast(fbs.getWritten());