authorgravatar for mason@gamesbymason.comMason Remaley <mason@gamesbymason.com> 2026-09-28 00:54:40-07:00
committergravatar for mason@gamesbymason.comMason Remaley <mason@gamesbymason.com> 2026-09-28 00:54:40-07:00
logaa0504ac574cafd3a6ff3cf716bac537fe3689d7
treef71c4250da3cd249591fdbb619065e09f6f4abc7
parent58ce0f3d913dfe0cb91dc151c40128c433f41d98

Remove `Diagnostics.empty`, initialized in callee


1 files changed, 37 insertions(+), 39 deletions(-)

lib/std/zon/parse.zig+37-39
...@@ -27,8 +27,6 @@ const valid_types = {};...@@ -27,8 +27,6 @@ const valid_types = {};
27pub const Diagnostics = struct {27pub const Diagnostics = struct {
28 errors: []const Error,28 errors: []const Error,
2929
30 pub const empty: Diagnostics = .{ .errors = &.{} };
31
32 /// Log the failure with `std.log.err`.30 /// Log the failure with `std.log.err`.
33 pub fn log(self: *const Diagnostics, path: []const u8) void {31 pub fn log(self: *const Diagnostics, path: []const u8) void {
34 std.log.err("{f}", .{self.fmt(path)});32 std.log.err("{f}", .{self.fmt(path)});
...@@ -39,7 +37,7 @@ pub const Diagnostics = struct {...@@ -39,7 +37,7 @@ pub const Diagnostics = struct {
39 var arena_allocator: ArenaAllocator = .init(gpa);37 var arena_allocator: ArenaAllocator = .init(gpa);
40 defer arena_allocator.deinit();38 defer arena_allocator.deinit();
41 const arena = arena_allocator.allocator();39 const arena = arena_allocator.allocator();
42 var diagnostics: Diagnostics = .empty;40 var diagnostics: Diagnostics = undefined;
4341
44 const MyType = struct {42 const MyType = struct {
45 foo: u32,43 foo: u32,
...@@ -71,7 +69,7 @@ pub const Diagnostics = struct {...@@ -71,7 +69,7 @@ pub const Diagnostics = struct {
71 var arena_allocator: ArenaAllocator = .init(gpa);69 var arena_allocator: ArenaAllocator = .init(gpa);
72 defer arena_allocator.deinit();70 defer arena_allocator.deinit();
73 const arena = arena_allocator.allocator();71 const arena = arena_allocator.allocator();
74 var diagnostics: Diagnostics = .empty;72 var diagnostics: Diagnostics = undefined;
7573
76 const MyType = struct {74 const MyType = struct {
77 foo: u32,75 foo: u32,
...@@ -198,8 +196,8 @@ pub const Options = struct {...@@ -198,8 +196,8 @@ pub const Options = struct {
198 arena: Allocator,196 arena: Allocator,
199 /// The ZON source to parse.197 /// The ZON source to parse.
200 source: [:0]const u8,198 source: [:0]const u8,
201 /// When an error is returned from the parser, a human readable error description of the failure199 /// Initialized by the callee with a human readable description of any parse errors that
202 /// is stored here.200 /// occured.
203 diagnostics: *Diagnostics,201 diagnostics: *Diagnostics,
204 /// If true, unknown fields do not error.202 /// If true, unknown fields do not error.
205 ignore_unknown_fields: bool = false,203 ignore_unknown_fields: bool = false,
...@@ -232,7 +230,7 @@ test fromSlice {...@@ -232,7 +230,7 @@ test fromSlice {
232 \\}230 \\}
233 ;231 ;
234232
235 var diagnostics: Diagnostics = .empty;233 var diagnostics: Diagnostics = undefined;
236 const options = fromSlice(TextureOptions, .{234 const options = fromSlice(TextureOptions, .{
237 .gpa = gpa,235 .gpa = gpa,
238 .arena = arena,236 .arena = arena,
...@@ -307,7 +305,7 @@ test updateFromSlice {...@@ -307,7 +305,7 @@ test updateFromSlice {
307 .theme = "default",305 .theme = "default",
308 };306 };
309307
310 var diagnostics: Diagnostics = .empty;308 var diagnostics: Diagnostics = undefined;
311 updateFromSlice(MyTextEditorConfig, &config, .{309 updateFromSlice(MyTextEditorConfig, &config, .{
312 .gpa = gpa,310 .gpa = gpa,
313 .arena = arena,311 .arena = arena,
...@@ -359,7 +357,7 @@ fn fromSliceInner(...@@ -359,7 +357,7 @@ fn fromSliceInner(
359 options: Options,357 options: Options,
360) error{ OutOfMemory, ParseZon }!void {358) error{ OutOfMemory, ParseZon }!void {
361 var errors: std.ArrayList(Diagnostics.Error) = .empty;359 var errors: std.ArrayList(Diagnostics.Error) = .empty;
362 defer options.diagnostics.errors = errors.items;360 defer options.diagnostics.* = .{ .errors = errors.items };
363361
364 var ast = try std.zig.Ast.parse(options.gpa, options.source, .{ .mode = .zon });362 var ast = try std.zig.Ast.parse(options.gpa, options.source, .{ .mode = .zon });
365 defer ast.deinit(options.gpa);363 defer ast.deinit(options.gpa);
...@@ -386,8 +384,8 @@ pub const FromZoirOptions = struct {...@@ -386,8 +384,8 @@ pub const FromZoirOptions = struct {
386 zoir: *const Zoir,384 zoir: *const Zoir,
387 /// The node to start parsing at.385 /// The node to start parsing at.
388 node: Zoir.Node.Index = .root,386 node: Zoir.Node.Index = .root,
389 /// When an error is returned from the parser, a human readable error description of the failure387 /// Initialized by the callee with a human readable description of any parse errors that
390 /// is stored here.388 /// occured.
391 diagnostics: *Diagnostics,389 diagnostics: *Diagnostics,
392 /// If true, unknown fields do not error.390 /// If true, unknown fields do not error.
393 ignore_unknown_fields: bool = false,391 ignore_unknown_fields: bool = false,
...@@ -432,7 +430,7 @@ fn fromZoirInner(...@@ -432,7 +430,7 @@ fn fromZoirInner(
432 options: FromZoirOptions,430 options: FromZoirOptions,
433) error{ OutOfMemory, ParseZon }!void {431) error{ OutOfMemory, ParseZon }!void {
434 var errors: std.ArrayList(Diagnostics.Error) = .empty;432 var errors: std.ArrayList(Diagnostics.Error) = .empty;
435 defer options.diagnostics.errors = errors.items;433 defer options.diagnostics.* = .{ .errors = errors.items };
436 return inner(T, value, initialized, .{434 return inner(T, value, initialized, .{
437 .arena = options.arena,435 .arena = options.arena,
438 .ast = options.ast,436 .ast = options.ast,
...@@ -1384,7 +1382,7 @@ test "std.zon ast errors" {...@@ -1384,7 +1382,7 @@ test "std.zon ast errors" {
1384 var arena_allocator: ArenaAllocator = .init(gpa);1382 var arena_allocator: ArenaAllocator = .init(gpa);
1385 defer arena_allocator.deinit();1383 defer arena_allocator.deinit();
1386 const arena = arena_allocator.allocator();1384 const arena = arena_allocator.allocator();
1387 var diagnostics: Diagnostics = .empty;1385 var diagnostics: Diagnostics = undefined;
1388 try std.testing.expectError(1386 try std.testing.expectError(
1389 error.ParseZon,1387 error.ParseZon,
1390 fromSliceNoAlloc(struct {}, .{1388 fromSliceNoAlloc(struct {}, .{
...@@ -1405,7 +1403,7 @@ test "std.zon comments" {...@@ -1405,7 +1403,7 @@ test "std.zon comments" {
1405 var arena_allocator: ArenaAllocator = .init(gpa);1403 var arena_allocator: ArenaAllocator = .init(gpa);
1406 defer arena_allocator.deinit();1404 defer arena_allocator.deinit();
1407 const arena = arena_allocator.allocator();1405 const arena = arena_allocator.allocator();
1408 var diagnostics: Diagnostics = .empty;1406 var diagnostics: Diagnostics = undefined;
14091407
1410 try std.testing.expectEqual(@as(u8, 10), fromSliceNoAlloc(u8, .{1408 try std.testing.expectEqual(@as(u8, 10), fromSliceNoAlloc(u8, .{
1411 .gpa = gpa,1409 .gpa = gpa,
...@@ -1441,7 +1439,7 @@ test "std.zon failure/oom formatting" {...@@ -1441,7 +1439,7 @@ test "std.zon failure/oom formatting" {
1441 var arena_allocator: ArenaAllocator = .init(gpa);1439 var arena_allocator: ArenaAllocator = .init(gpa);
1442 defer arena_allocator.deinit();1440 defer arena_allocator.deinit();
1443 const arena = arena_allocator.allocator();1441 const arena = arena_allocator.allocator();
1444 var diagnostics: Diagnostics = .empty;1442 var diagnostics: Diagnostics = undefined;
14451443
1446 try std.testing.expectError(error.OutOfMemory, fromSlice([]const u8, .{1444 try std.testing.expectError(error.OutOfMemory, fromSlice([]const u8, .{
1447 .gpa = .failing,1445 .gpa = .failing,
...@@ -1459,7 +1457,7 @@ test "std.zon fromSlice syntax error" {...@@ -1459,7 +1457,7 @@ test "std.zon fromSlice syntax error" {
1459 var arena_allocator: ArenaAllocator = .init(gpa);1457 var arena_allocator: ArenaAllocator = .init(gpa);
1460 defer arena_allocator.deinit();1458 defer arena_allocator.deinit();
1461 const arena = arena_allocator.allocator();1459 const arena = arena_allocator.allocator();
1462 var diagnostics: Diagnostics = .empty;1460 var diagnostics: Diagnostics = undefined;
1463 try std.testing.expectError(1461 try std.testing.expectError(
1464 error.ParseZon,1462 error.ParseZon,
1465 fromSliceNoAlloc(u8, .{1463 fromSliceNoAlloc(u8, .{
...@@ -1480,7 +1478,7 @@ test "std.zon optional" {...@@ -1480,7 +1478,7 @@ test "std.zon optional" {
1480 var arena_allocator: ArenaAllocator = .init(gpa);1478 var arena_allocator: ArenaAllocator = .init(gpa);
1481 defer arena_allocator.deinit();1479 defer arena_allocator.deinit();
1482 const arena = arena_allocator.allocator();1480 const arena = arena_allocator.allocator();
1483 var diagnostics: Diagnostics = .empty;1481 var diagnostics: Diagnostics = undefined;
14841482
1485 // Basic usage1483 // Basic usage
1486 {1484 {
...@@ -1524,7 +1522,7 @@ test "std.zon unions" {...@@ -1524,7 +1522,7 @@ test "std.zon unions" {
1524 var arena_allocator: ArenaAllocator = .init(gpa);1522 var arena_allocator: ArenaAllocator = .init(gpa);
1525 defer arena_allocator.deinit();1523 defer arena_allocator.deinit();
1526 const arena = arena_allocator.allocator();1524 const arena = arena_allocator.allocator();
1527 var diagnostics: Diagnostics = .empty;1525 var diagnostics: Diagnostics = undefined;
15281526
1529 // Unions1527 // Unions
1530 {1528 {
...@@ -1722,7 +1720,7 @@ test "std.zon structs" {...@@ -1722,7 +1720,7 @@ test "std.zon structs" {
1722 var arena_allocator: ArenaAllocator = .init(gpa);1720 var arena_allocator: ArenaAllocator = .init(gpa);
1723 defer arena_allocator.deinit();1721 defer arena_allocator.deinit();
1724 const arena = arena_allocator.allocator();1722 const arena = arena_allocator.allocator();
1725 var diagnostics: Diagnostics = .empty;1723 var diagnostics: Diagnostics = undefined;
17261724
1727 // Structs (various sizes tested since they're parsed differently)1725 // Structs (various sizes tested since they're parsed differently)
1728 {1726 {
...@@ -2019,7 +2017,7 @@ test "std.zon tuples" {...@@ -2019,7 +2017,7 @@ test "std.zon tuples" {
2019 var arena_allocator: ArenaAllocator = .init(gpa);2017 var arena_allocator: ArenaAllocator = .init(gpa);
2020 defer arena_allocator.deinit();2018 defer arena_allocator.deinit();
2021 const arena = arena_allocator.allocator();2019 const arena = arena_allocator.allocator();
2022 var diagnostics: Diagnostics = .empty;2020 var diagnostics: Diagnostics = undefined;
20232021
2024 // Structs (various sizes tested since they're parsed differently)2022 // Structs (various sizes tested since they're parsed differently)
2025 {2023 {
...@@ -2180,7 +2178,7 @@ test "std.zon arrays and slices" {...@@ -2180,7 +2178,7 @@ test "std.zon arrays and slices" {
2180 var arena_allocator: ArenaAllocator = .init(gpa);2178 var arena_allocator: ArenaAllocator = .init(gpa);
2181 defer arena_allocator.deinit();2179 defer arena_allocator.deinit();
2182 const arena = arena_allocator.allocator();2180 const arena = arena_allocator.allocator();
2183 var diagnostics: Diagnostics = .empty;2181 var diagnostics: Diagnostics = undefined;
21842182
2185 // Literals2183 // Literals
2186 {2184 {
...@@ -2500,7 +2498,7 @@ test "std.zon string literal" {...@@ -2500,7 +2498,7 @@ test "std.zon string literal" {
2500 var arena_allocator: ArenaAllocator = .init(gpa);2498 var arena_allocator: ArenaAllocator = .init(gpa);
2501 defer arena_allocator.deinit();2499 defer arena_allocator.deinit();
2502 const arena = arena_allocator.allocator();2500 const arena = arena_allocator.allocator();
2503 var diagnostics: Diagnostics = .empty;2501 var diagnostics: Diagnostics = undefined;
25042502
2505 // Basic string literal2503 // Basic string literal
2506 {2504 {
...@@ -2792,7 +2790,7 @@ test "std.zon enum literals" {...@@ -2792,7 +2790,7 @@ test "std.zon enum literals" {
2792 var arena_allocator: ArenaAllocator = .init(gpa);2790 var arena_allocator: ArenaAllocator = .init(gpa);
2793 defer arena_allocator.deinit();2791 defer arena_allocator.deinit();
2794 const arena = arena_allocator.allocator();2792 const arena = arena_allocator.allocator();
2795 var diagnostics: Diagnostics = .empty;2793 var diagnostics: Diagnostics = undefined;
27962794
2797 const Enum = enum {2795 const Enum = enum {
2798 foo,2796 foo,
...@@ -2906,7 +2904,7 @@ test "std.zon parse bool" {...@@ -2906,7 +2904,7 @@ test "std.zon parse bool" {
2906 var arena_allocator: ArenaAllocator = .init(gpa);2904 var arena_allocator: ArenaAllocator = .init(gpa);
2907 defer arena_allocator.deinit();2905 defer arena_allocator.deinit();
2908 const arena = arena_allocator.allocator();2906 const arena = arena_allocator.allocator();
2909 var diagnostics: Diagnostics = .empty;2907 var diagnostics: Diagnostics = undefined;
29102908
2911 // Correct bools2909 // Correct bools
2912 try std.testing.expectEqual(true, try fromSliceNoAlloc(bool, .{2910 try std.testing.expectEqual(true, try fromSliceNoAlloc(bool, .{
...@@ -2981,7 +2979,7 @@ test "std.zon parse int" {...@@ -2981,7 +2979,7 @@ test "std.zon parse int" {
2981 var arena_allocator: ArenaAllocator = .init(gpa);2979 var arena_allocator: ArenaAllocator = .init(gpa);
2982 defer arena_allocator.deinit();2980 defer arena_allocator.deinit();
2983 const arena = arena_allocator.allocator();2981 const arena = arena_allocator.allocator();
2984 var diagnostics: Diagnostics = .empty;2982 var diagnostics: Diagnostics = undefined;
29852983
2986 // Test various numbers and types2984 // Test various numbers and types
2987 try std.testing.expectEqual(@as(u8, 10), try fromSliceNoAlloc(u8, .{2985 try std.testing.expectEqual(@as(u8, 10), try fromSliceNoAlloc(u8, .{
...@@ -3429,7 +3427,7 @@ test "std.zon negative char" {...@@ -3429,7 +3427,7 @@ test "std.zon negative char" {
3429 var arena_allocator: ArenaAllocator = .init(gpa);3427 var arena_allocator: ArenaAllocator = .init(gpa);
3430 defer arena_allocator.deinit();3428 defer arena_allocator.deinit();
3431 const arena = arena_allocator.allocator();3429 const arena = arena_allocator.allocator();
3432 var diagnostics: Diagnostics = .empty;3430 var diagnostics: Diagnostics = undefined;
34333431
3434 {3432 {
3435 try std.testing.expectError(error.ParseZon, fromSliceNoAlloc(f32, .{3433 try std.testing.expectError(error.ParseZon, fromSliceNoAlloc(f32, .{
...@@ -3464,7 +3462,7 @@ test "std.zon parse float" {...@@ -3464,7 +3462,7 @@ test "std.zon parse float" {
3464 var arena_allocator: ArenaAllocator = .init(gpa);3462 var arena_allocator: ArenaAllocator = .init(gpa);
3465 defer arena_allocator.deinit();3463 defer arena_allocator.deinit();
3466 const arena = arena_allocator.allocator();3464 const arena = arena_allocator.allocator();
3467 var diagnostics: Diagnostics = .empty;3465 var diagnostics: Diagnostics = undefined;
34683466
3469 // Test decimals3467 // Test decimals
3470 try std.testing.expectEqual(@as(f16, 0.5), try fromSliceNoAlloc(f16, .{3468 try std.testing.expectEqual(@as(f16, 0.5), try fromSliceNoAlloc(f16, .{
...@@ -3752,7 +3750,7 @@ test "std.zon free on error" {...@@ -3752,7 +3750,7 @@ test "std.zon free on error" {
3752 var arena_allocator: ArenaAllocator = .init(gpa);3750 var arena_allocator: ArenaAllocator = .init(gpa);
3753 defer arena_allocator.deinit();3751 defer arena_allocator.deinit();
3754 const arena = arena_allocator.allocator();3752 const arena = arena_allocator.allocator();
3755 var diagnostics: Diagnostics = .empty;3753 var diagnostics: Diagnostics = undefined;
37563754
3757 // Test freeing partially allocated structs3755 // Test freeing partially allocated structs
3758 {3756 {
...@@ -3873,7 +3871,7 @@ test "std.zon vector" {...@@ -3873,7 +3871,7 @@ test "std.zon vector" {
3873 var arena_allocator: ArenaAllocator = .init(gpa);3871 var arena_allocator: ArenaAllocator = .init(gpa);
3874 defer arena_allocator.deinit();3872 defer arena_allocator.deinit();
3875 const arena = arena_allocator.allocator();3873 const arena = arena_allocator.allocator();
3876 var diagnostics: Diagnostics = .empty;3874 var diagnostics: Diagnostics = undefined;
38773875
3878 // Passing cases3876 // Passing cases
3879 try std.testing.expectEqual(3877 try std.testing.expectEqual(
...@@ -4062,7 +4060,7 @@ test "std.zon add pointers" {...@@ -4062,7 +4060,7 @@ test "std.zon add pointers" {
4062 var arena_allocator: ArenaAllocator = .init(gpa);4060 var arena_allocator: ArenaAllocator = .init(gpa);
4063 defer arena_allocator.deinit();4061 defer arena_allocator.deinit();
4064 const arena = arena_allocator.allocator();4062 const arena = arena_allocator.allocator();
4065 var diagnostics: Diagnostics = .empty;4063 var diagnostics: Diagnostics = undefined;
40664064
4067 // Primitive with varying levels of pointers4065 // Primitive with varying levels of pointers
4068 {4066 {
...@@ -4448,7 +4446,7 @@ test "std.zon stop on node" {...@@ -4448,7 +4446,7 @@ test "std.zon stop on node" {
4448 var arena_allocator: ArenaAllocator = .init(gpa);4446 var arena_allocator: ArenaAllocator = .init(gpa);
4449 defer arena_allocator.deinit();4447 defer arena_allocator.deinit();
4450 const arena = arena_allocator.allocator();4448 const arena = arena_allocator.allocator();
4451 var diagnostics: Diagnostics = .empty;4449 var diagnostics: Diagnostics = undefined;
44524450
4453 {4451 {
4454 const Vec2 = struct {4452 const Vec2 = struct {
...@@ -4495,7 +4493,7 @@ test "std.zon no alloc" {...@@ -4495,7 +4493,7 @@ test "std.zon no alloc" {
4495 var arena_allocator: ArenaAllocator = .init(gpa);4493 var arena_allocator: ArenaAllocator = .init(gpa);
4496 defer arena_allocator.deinit();4494 defer arena_allocator.deinit();
4497 const arena = arena_allocator.allocator();4495 const arena = arena_allocator.allocator();
4498 var diagnostics: Diagnostics = .empty;4496 var diagnostics: Diagnostics = undefined;
44994497
4500 try std.testing.expectEqual(4498 try std.testing.expectEqual(
4501 [3]u8{ 1, 2, 3 },4499 [3]u8{ 1, 2, 3 },
...@@ -4531,7 +4529,7 @@ test "std.zon aligned pointers" {...@@ -4531,7 +4529,7 @@ test "std.zon aligned pointers" {
4531 var arena_allocator: ArenaAllocator = .init(gpa);4529 var arena_allocator: ArenaAllocator = .init(gpa);
4532 defer arena_allocator.deinit();4530 defer arena_allocator.deinit();
4533 const arena = arena_allocator.allocator();4531 const arena = arena_allocator.allocator();
4534 var diagnostics: Diagnostics = .empty;4532 var diagnostics: Diagnostics = undefined;
45354533
4536 const n: u8 align(8) = 10;4534 const n: u8 align(8) = 10;
4537 const Foo = struct {4535 const Foo = struct {
...@@ -4555,7 +4553,7 @@ test "std.zon update basic" {...@@ -4555,7 +4553,7 @@ test "std.zon update basic" {
4555 var arena_allocator: ArenaAllocator = .init(gpa);4553 var arena_allocator: ArenaAllocator = .init(gpa);
4556 defer arena_allocator.deinit();4554 defer arena_allocator.deinit();
4557 const arena = arena_allocator.allocator();4555 const arena = arena_allocator.allocator();
4558 var diagnostics: Diagnostics = .empty;4556 var diagnostics: Diagnostics = undefined;
45594557
4560 const Vector = struct { x: f32, y: f32, z: f32 };4558 const Vector = struct { x: f32, y: f32, z: f32 };
4561 const MyStruct = struct {4559 const MyStruct = struct {
...@@ -4668,7 +4666,7 @@ test "std.zon update optionals" {...@@ -4668,7 +4666,7 @@ test "std.zon update optionals" {
4668 var arena_allocator: ArenaAllocator = .init(gpa);4666 var arena_allocator: ArenaAllocator = .init(gpa);
4669 defer arena_allocator.deinit();4667 defer arena_allocator.deinit();
4670 const arena = arena_allocator.allocator();4668 const arena = arena_allocator.allocator();
4671 var diagnostics: Diagnostics = .empty;4669 var diagnostics: Diagnostics = undefined;
46724670
4673 const MyStruct = struct {4671 const MyStruct = struct {
4674 foo: ?struct { bar: u32 = 1, baz: u32 = 2, qux: u32 },4672 foo: ?struct { bar: u32 = 1, baz: u32 = 2, qux: u32 },
...@@ -4726,7 +4724,7 @@ test "std.zon update optional pointers" {...@@ -4726,7 +4724,7 @@ test "std.zon update optional pointers" {
4726 var arena_allocator: ArenaAllocator = .init(gpa);4724 var arena_allocator: ArenaAllocator = .init(gpa);
4727 defer arena_allocator.deinit();4725 defer arena_allocator.deinit();
4728 const arena = arena_allocator.allocator();4726 const arena = arena_allocator.allocator();
4729 var diagnostics: Diagnostics = .empty;4727 var diagnostics: Diagnostics = undefined;
47304728
4731 const MyStruct = struct {4729 const MyStruct = struct {
4732 foo: ?*const struct { bar: u32 = 1, baz: u32 = 2, qux: u32 },4730 foo: ?*const struct { bar: u32 = 1, baz: u32 = 2, qux: u32 },
...@@ -4752,7 +4750,7 @@ test "std.zon update pointers" {...@@ -4752,7 +4750,7 @@ test "std.zon update pointers" {
4752 var arena_allocator: ArenaAllocator = .init(gpa);4750 var arena_allocator: ArenaAllocator = .init(gpa);
4753 defer arena_allocator.deinit();4751 defer arena_allocator.deinit();
4754 const arena = arena_allocator.allocator();4752 const arena = arena_allocator.allocator();
4755 var diagnostics: Diagnostics = .empty;4753 var diagnostics: Diagnostics = undefined;
47564754
4757 // Updating a pointer should leave fields we don't specify unchanged4755 // Updating a pointer should leave fields we don't specify unchanged
4758 {4756 {
...@@ -4795,7 +4793,7 @@ test "std.zon update unions" {...@@ -4795,7 +4793,7 @@ test "std.zon update unions" {
4795 var arena_allocator: ArenaAllocator = .init(gpa);4793 var arena_allocator: ArenaAllocator = .init(gpa);
4796 defer arena_allocator.deinit();4794 defer arena_allocator.deinit();
4797 const arena = arena_allocator.allocator();4795 const arena = arena_allocator.allocator();
4798 var diagnostics: Diagnostics = .empty;4796 var diagnostics: Diagnostics = undefined;
47994797
4800 const MyUnion = union(enum) {4798 const MyUnion = union(enum) {
4801 none: void,4799 none: void,
...@@ -4857,7 +4855,7 @@ test "std.zon variants" {...@@ -4857,7 +4855,7 @@ test "std.zon variants" {
4857 var arena_allocator: ArenaAllocator = .init(gpa);4855 var arena_allocator: ArenaAllocator = .init(gpa);
4858 defer arena_allocator.deinit();4856 defer arena_allocator.deinit();
4859 const arena = arena_allocator.allocator();4857 const arena = arena_allocator.allocator();
4860 var diagnostics: Diagnostics = .empty;4858 var diagnostics: Diagnostics = undefined;
48614859
4862 const Struct = struct { a: u32, b: u32 };4860 const Struct = struct { a: u32, b: u32 };
4863 const start: Struct = .{ .a = 10, .b = 20 };4861 const start: Struct = .{ .a = 10, .b = 20 };