From eab5401cd55ddc23630adb18b86c403c8ba53094 Mon Sep 17 00:00:00 2001 From: DialecticalMaterialist <170803884+DialecticalMaterialist@users.noreply.github.com> Date: Tue, 12 Aug 2025 16:47:34 +0200 Subject: [PATCH 1/2] Update to latest zig https://github.com/ziglang/zig/pull/24801 --- src/Server.zig | 2 +- src/ast.zig | 4 ++-- src/build_runner/master.zig | 13 ++++++------- tests/analysis/generics.zig | 4 ++-- tests/lsp_features/inlay_hints.zig | 4 ++-- 5 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/Server.zig b/src/Server.zig index 195dadcc8..5726a1ad8 100644 --- a/src/Server.zig +++ b/src/Server.zig @@ -597,7 +597,7 @@ fn initializedHandler(server: *Server, arena: std.mem.Allocator, notification: t // `{ "watchers": [ { "globPattern": "**/*.{zig,zon}" } ] }` var watcher = std.json.ObjectMap.init(arena); try watcher.put("globPattern", .{ .string = "**/*.{zig,zon}" }); - var watchers_arr = try std.ArrayList(std.json.Value).initCapacity(arena, 1); + var watchers_arr = try std.array_list.Managed(std.json.Value).initCapacity(arena, 1); watchers_arr.appendAssumeCapacity(.{ .object = watcher }); var fs_watcher_obj: std.json.ObjectMap = std.json.ObjectMap.init(arena); try fs_watcher_obj.put("watchers", .{ .array = watchers_arr }); diff --git a/src/ast.zig b/src/ast.zig index d62315f85..158bfeeeb 100644 --- a/src/ast.zig +++ b/src/ast.zig @@ -1139,11 +1139,11 @@ test "iterateChildren - fn_proto_* inside of fn_proto" { ); defer tree.deinit(allocator); - var children_tags = std.ArrayList(Ast.Node.Tag).init(allocator); + var children_tags = std.array_list.Managed(Ast.Node.Tag).init(allocator); defer children_tags.deinit(); const Context = struct { - accumulator: *std.ArrayList(Ast.Node.Tag), + accumulator: *std.array_list.Managed(Ast.Node.Tag), fn callback(self: @This(), ast: Ast, child_node: Ast.Node.Index) !void { try self.accumulator.append(ast.nodeTag(child_node)); } diff --git a/src/build_runner/master.zig b/src/build_runner/master.zig index 63dc8895e..321a1717c 100644 --- a/src/build_runner/master.zig +++ b/src/build_runner/master.zig @@ -21,7 +21,6 @@ const builtin = @import("builtin"); const assert = std.debug.assert; const mem = std.mem; const process = std.process; -const ArrayList = std.ArrayList; const Step = std.Build.Step; const Allocator = std.mem.Allocator; @@ -102,8 +101,8 @@ pub fn main() !void { dependencies.root_deps, ); - var targets = ArrayList([]const u8).init(arena); - var debug_log_scopes = ArrayList([]const u8).init(arena); + var targets = std.array_list.Managed([]const u8).init(arena); + var debug_log_scopes = std.array_list.Managed([]const u8).init(arena); var thread_pool_options: std.Thread.Pool.Options = .{ .allocator = arena }; var install_prefix: ?[]const u8 = null; @@ -349,7 +348,7 @@ pub fn main() !void { .max_rss_is_default = false, .max_rss_mutex = .{}, .skip_oom_steps = skip_oom_steps, - .memory_blocked_steps = std.ArrayList(*Step).init(arena), + .memory_blocked_steps = std.array_list.Managed(*Step).init(arena), .thread_pool = undefined, // set below .claimed_rss = 0, @@ -514,7 +513,7 @@ const Run = struct { max_rss_is_default: bool, max_rss_mutex: std.Thread.Mutex, skip_oom_steps: bool, - memory_blocked_steps: std.ArrayList(*Step), + memory_blocked_steps: std.array_list.Managed(*Step), thread_pool: std.Thread.Pool, claimed_rss: usize, @@ -1384,7 +1383,7 @@ const copied_from_zig = struct { else => return err, }; - var zig_args = ArrayList([]const u8).init(b.allocator); + var zig_args = std.array_list.Managed([]const u8).init(b.allocator); defer zig_args.deinit(); var it = mem.tokenizeAny(u8, stdout, " \r\n\t"); @@ -1419,7 +1418,7 @@ const copied_from_zig = struct { fn execPkgConfigList(self: *std.Build, out_code: *u8) (std.Build.PkgConfigError || std.Build.RunError)![]const std.Build.PkgConfigPkg { const stdout = try self.runAllowFail(&.{ "pkg-config", "--list-all" }, out_code, .Ignore); - var list = ArrayList(std.Build.PkgConfigPkg).init(self.allocator); + var list = std.array_list.Managed(std.Build.PkgConfigPkg).init(self.allocator); errdefer list.deinit(); var line_it = mem.tokenizeAny(u8, stdout, "\r\n"); while (line_it.next()) |line| { diff --git a/tests/analysis/generics.zig b/tests/analysis/generics.zig index 3acb06c0e..5a745af8b 100644 --- a/tests/analysis/generics.zig +++ b/tests/analysis/generics.zig @@ -218,8 +218,8 @@ fn MapUnmanaged(Context: type) type { }; } -const some_list: std.ArrayListUnmanaged(u8) = .empty; -// ^^^^^^^^^ (ArrayListAlignedUnmanaged(u8))() +const some_list: std.array_list.Aligned(u8, null) = .empty; +// ^^^^^^^^^ (Aligned(u8))() const some_list_items = some_list.items; // ^^^^^^^^^^^^^^^ ([]u8)() diff --git a/tests/lsp_features/inlay_hints.zig b/tests/lsp_features/inlay_hints.zig index c79e78d11..4e3315928 100644 --- a/tests/lsp_features/inlay_hints.zig +++ b/tests/lsp_features/inlay_hints.zig @@ -289,8 +289,8 @@ test "var decl" { test "comptime return types" { try testInlayHints( \\const std = @import("std"); - \\const list = std.ArrayList(std.ArrayList(i32)).init(allocator); - \\const innerList = list.items[0]; + \\const list = std.array_list.Managed(std.array_list.Managed(i32)).init(allocator); + \\const innerList = list.items[0]; \\const nested = list.items[0].items[0]; , .{ .kind = .Type }); From fb5729f064dc702aa9c6fe72fd25920d2248ffc9 Mon Sep 17 00:00:00 2001 From: DialecticalMaterialist <170803884+DialecticalMaterialist@users.noreply.github.com> Date: Sat, 16 Aug 2025 09:34:23 +0200 Subject: [PATCH 2/2] getWritten() -> written() --- src/features/diagnostics.zig | 4 ++-- src/print_ast.zig | 2 +- src/tools/config_gen.zig | 2 +- tests/build_runner_check.zig | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/features/diagnostics.zig b/src/features/diagnostics.zig index 35d4489eb..79d910510 100644 --- a/src/features/diagnostics.zig +++ b/src/features/diagnostics.zig @@ -112,7 +112,7 @@ fn collectParseDiagnostics(tree: Ast, eb: *std.zig.ErrorBundle.Wip) error{OutOfM aw.clearRetainingCapacity(); tree.renderError(err, &aw.writer) catch return error.OutOfMemory; try notes.append(allocator, try eb.addErrorMessage(.{ - .msg = try eb.addString(aw.getWritten()), + .msg = try eb.addString(aw.written()), .src_loc = try errorBundleSourceLocationFromToken(tree, eb, err.token), })); } @@ -120,7 +120,7 @@ fn collectParseDiagnostics(tree: Ast, eb: *std.zig.ErrorBundle.Wip) error{OutOfM aw.clearRetainingCapacity(); tree.renderError(current_error, &aw.writer) catch return error.OutOfMemory; try eb.addRootErrorMessage(.{ - .msg = try eb.addString(aw.getWritten()), + .msg = try eb.addString(aw.written()), .src_loc = try errorBundleSourceLocationFromToken(tree, eb, current_error.token), .notes_len = @intCast(notes.items.len), }); diff --git a/src/print_ast.zig b/src/print_ast.zig index b6e8e9c50..8357ebb1c 100644 --- a/src/print_ast.zig +++ b/src/print_ast.zig @@ -913,7 +913,7 @@ test PrintAst { \\ }, // :2:5 \\}; \\ - , aw.getWritten()); + , aw.written()); // The output itself is syntactically valid Zig code. diff --git a/src/tools/config_gen.zig b/src/tools/config_gen.zig index 355bc342d..08c1a8b7d 100644 --- a/src/tools/config_gen.zig +++ b/src/tools/config_gen.zig @@ -951,7 +951,7 @@ fn generateVersionDataFile(allocator: std.mem.Allocator, version: []const u8, ou writeMarkdownFromHtml(html, &markdown.writer) catch return error.OutOfMemory; try writer.writeAll(" .documentation =\n"); - var line_it = std.mem.splitScalar(u8, std.mem.trim(u8, markdown.getWritten(), "\n"), '\n'); + var line_it = std.mem.splitScalar(u8, std.mem.trim(u8, markdown.written(), "\n"), '\n'); while (line_it.next()) |line| { try writer.print(" \\\\{s}\n", .{std.mem.trimRight(u8, line, " ")}); } diff --git a/tests/build_runner_check.zig b/tests/build_runner_check.zig index 26eaa94da..305b1b8f0 100644 --- a/tests/build_runner_check.zig +++ b/tests/build_runner_check.zig @@ -31,7 +31,7 @@ pub fn main() !u8 { try std.json.Stringify.encodeJsonStringChars(&.{std.fs.path.sep}, .{}, &aw.writer); // The build runner will produce absolute paths in the output so we remove them here. - const actual = try std.mem.replaceOwned(u8, gpa, actual_unsanitized, aw.getWritten(), ""); + const actual = try std.mem.replaceOwned(u8, gpa, actual_unsanitized, aw.written(), ""); // We also convert windows style '\\' path separators to posix style '/'. switch (std.fs.path.sep) {