From 12d53dec239aece695547ed57db0372837408a99 Mon Sep 17 00:00:00 2001 From: bfredl Date: Thu, 8 Jan 2026 11:13:02 +0100 Subject: [PATCH] fix(define): update "zig define" to zig 0.16.0-dev.2109+ac9179933 See https://codeberg.org/ziglang/zig/pulls/30644 and friends --- examples/define-exe.zig | 6 +++--- src/define.zig | 16 +++++++--------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/examples/define-exe.zig b/examples/define-exe.zig index dffc3f7..c4b5cbe 100644 --- a/examples/define-exe.zig +++ b/examples/define-exe.zig @@ -8,7 +8,7 @@ const Bippity = struct { A: ?i32, B: *bool, C: []const u8, D: ?*SubType }; const TestType = struct { a: i32, b: f32, c: bool, d: SubType, e: [10]Bippity }; const Foo = struct { far: MyEnum, near: SubType }; -pub fn main() !void { - const output_file_path = std.mem.sliceTo(std.os.argv[1], 0); - try zlua.define(std.heap.c_allocator, output_file_path, &.{ T, TestType, Foo }); +pub fn main(init: std.process.Init) !void { + const output_file_path = std.mem.sliceTo(init.minimal.args.vector[1], 0); + try zlua.define(init.io, std.heap.c_allocator, output_file_path, &.{ T, TestType, Foo }); } diff --git a/src/define.zig b/src/define.zig index f3e72a0..0ffc272 100644 --- a/src/define.zig +++ b/src/define.zig @@ -25,6 +25,7 @@ pub const DefineState = struct { }; pub fn define( + io: std.Io, gpa: std.mem.Allocator, absolute_output_path: []const u8, comptime to_define: []const type, @@ -33,21 +34,18 @@ pub fn define( defer state.deinit(gpa); inline for (to_define) |T| { - _ = try addClass(&state, T); + _ = try addClass(&state, gpa, T); } - var file = try std.fs.createFileAbsolute(absolute_output_path, .{}); - defer file.close(); + var file = try std.Io.Dir.createFileAbsolute(io, absolute_output_path, .{}); + defer file.close(io); - try file.seekTo(0); - try file.writeAll(file_header); + try file.writeStreamingAll(io, file_header); for (state.definitions.items) |def| { - try file.writeAll(def.items); - try file.writeAll("\n"); + try file.writeStreamingAll(io, def.items); + try file.writeStreamingAll(io, "\n"); } - - try file.setEndPos(try file.getPos()); } const file_header: []const u8 =