Commit 045bb14897

Andrew Kelley <andrew@ziglang.org>
2025-08-09 02:17:38
zig std: fix build failures
1 parent 8c9dfcb
Changed files (5)
lib/compiler/std-docs.zig
@@ -93,9 +93,12 @@ pub fn main() !void {
 fn accept(context: *Context, connection: std.net.Server.Connection) void {
     defer connection.stream.close();
 
-    var read_buffer: [8000]u8 = undefined;
-    var server = std.http.Server.init(connection, &read_buffer);
-    while (server.state == .ready) {
+    var recv_buffer: [4000]u8 = undefined;
+    var send_buffer: [4000]u8 = undefined;
+    var conn_reader = connection.stream.reader(&recv_buffer);
+    var conn_writer = connection.stream.writer(&send_buffer);
+    var server = std.http.Server.init(conn_reader.interface(), &conn_writer.interface);
+    while (server.reader.state == .ready) {
         var request = server.receiveHead() catch |err| switch (err) {
             error.HttpConnectionClosing => return,
             else => {
@@ -175,8 +178,7 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {
     const gpa = context.gpa;
 
     var send_buffer: [0x4000]u8 = undefined;
-    var response = request.respondStreaming(.{
-        .send_buffer = &send_buffer,
+    var response = try request.respondStreaming(&send_buffer, .{
         .respond_options = .{
             .extra_headers = &.{
                 .{ .name = "content-type", .value = "application/x-tar" },
@@ -191,11 +193,7 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {
     var walker = try std_dir.walk(gpa);
     defer walker.deinit();
 
-    var adapter_buffer: [500]u8 = undefined;
-    var response_writer = response.writer().adaptToNewApi();
-    response_writer.new_interface.buffer = &adapter_buffer;
-
-    var archiver: std.tar.Writer = .{ .underlying_writer = &response_writer.new_interface };
+    var archiver: std.tar.Writer = .{ .underlying_writer = &response.writer };
     archiver.prefix = "std";
 
     while (try walker.next()) |entry| {
@@ -229,7 +227,6 @@ fn serveSourcesTar(request: *std.http.Server.Request, context: *Context) !void {
 
     // intentionally omitting the pointless trailer
     //try archiver.finish();
-    try response_writer.new_interface.flush();
     try response.end();
 }
 
lib/std/Io/DeprecatedWriter.zig
@@ -83,11 +83,11 @@ pub fn writeFile(self: Self, file: std.fs.File) anyerror!void {
 }
 
 /// Helper for bridging to the new `Writer` API while upgrading.
-pub fn adaptToNewApi(self: *const Self) Adapter {
+pub fn adaptToNewApi(self: *const Self, buffer: []u8) Adapter {
     return .{
         .derp_writer = self.*,
         .new_interface = .{
-            .buffer = &.{},
+            .buffer = buffer,
             .vtable = &.{ .drain = Adapter.drain },
         },
     };
lib/std/fmt.zig
@@ -80,7 +80,7 @@ pub const Number = struct {
 
 /// Deprecated in favor of `Writer.print`.
 pub fn format(writer: anytype, comptime fmt: []const u8, args: anytype) !void {
-    var adapter = writer.adaptToNewApi();
+    var adapter = writer.adaptToNewApi(&.{});
     return adapter.new_interface.print(fmt, args) catch |err| switch (err) {
         error.WriteFailed => return adapter.err.?,
     };
lib/std/Io.zig
@@ -387,11 +387,11 @@ pub fn GenericWriter(
         }
 
         /// Helper for bridging to the new `Writer` API while upgrading.
-        pub fn adaptToNewApi(self: *const Self) Adapter {
+        pub fn adaptToNewApi(self: *const Self, buffer: []u8) Adapter {
             return .{
                 .derp_writer = self.*,
                 .new_interface = .{
-                    .buffer = &.{},
+                    .buffer = buffer,
                     .vtable = &.{ .drain = Adapter.drain },
                 },
             };
tools/gen_spirv_spec.zig
@@ -84,7 +84,7 @@ pub fn main() !void {
 
     const output_buf = try allocator.alloc(u8, 1024 * 1024);
     var fbs = std.io.fixedBufferStream(output_buf);
-    var adapter = fbs.writer().adaptToNewApi();
+    var adapter = fbs.writer().adaptToNewApi(&.{});
     const w = &adapter.new_interface;
     try render(w, core_spec, exts.items);
     var output: [:0]u8 = @ptrCast(fbs.getWritten());