| ... | @@ -27,8 +27,6 @@ const valid_types = {}; | ... | @@ -27,8 +27,6 @@ const valid_types = {}; |
| 27 | pub const Diagnostics = struct { | 27 | pub const Diagnostics = struct { |
| 28 | errors: []const Error, | 28 | errors: []const Error, |
| 29 | | 29 | |
| 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; |
| 43 | | 41 | |
| 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; |
| 75 | | 73 | |
| 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 failure | 199 | /// 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 | ; |
| 234 | | 232 | |
| 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 | }; |
| 309 | | 307 | |
| 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 }; |
| 363 | | 361 | |
| 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 failure | 387 | /// 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; |
| 1409 | | 1407 | |
| 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; |
| 1445 | | 1443 | |
| 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; |
| 1484 | | 1482 | |
| 1485 | // Basic usage | 1483 | // 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; |
| 1528 | | 1526 | |
| 1529 | // Unions | 1527 | // 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; |
| 1726 | | 1724 | |
| 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; |
| 2023 | | 2021 | |
| 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; |
| 2184 | | 2182 | |
| 2185 | // Literals | 2183 | // 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; |
| 2504 | | 2502 | |
| 2505 | // Basic string literal | 2503 | // 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; |
| 2796 | | 2794 | |
| 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; |
| 2910 | | 2908 | |
| 2911 | // Correct bools | 2909 | // 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; |
| 2985 | | 2983 | |
| 2986 | // Test various numbers and types | 2984 | // 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; |
| 3433 | | 3431 | |
| 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; |
| 3468 | | 3466 | |
| 3469 | // Test decimals | 3467 | // 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; |
| 3756 | | 3754 | |
| 3757 | // Test freeing partially allocated structs | 3755 | // 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; |
| 3877 | | 3875 | |
| 3878 | // Passing cases | 3876 | // 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; |
| 4066 | | 4064 | |
| 4067 | // Primitive with varying levels of pointers | 4065 | // 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; |
| 4452 | | 4450 | |
| 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; |
| 4499 | | 4497 | |
| 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; |
| 4535 | | 4533 | |
| 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; |
| 4559 | | 4557 | |
| 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; |
| 4672 | | 4670 | |
| 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; |
| 4730 | | 4728 | |
| 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; |
| 4756 | | 4754 | |
| 4757 | // Updating a pointer should leave fields we don't specify unchanged | 4755 | // 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; |
| 4799 | | 4797 | |
| 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; |
| 4861 | | 4859 | |
| 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 }; |