Browse Source

Fix breaking zig change to @fieldParentPtr parameters

See https://github.com/ziglang/zig/pull/19470
kamidev 1 year ago
parent
commit
f06c1f27d1
2 changed files with 6 additions and 7 deletions
  1. 2 3
      build.zig
  2. 4 4
      test/tests.zig

+ 2 - 3
build.zig

@@ -247,7 +247,7 @@ const ZiglingStep = struct {
     fn make(step: *Step, prog_node: *std.Progress.Node) !void {
         // NOTE: Using exit code 2 will prevent the Zig compiler to print the message:
         // "error: the following build command failed with exit code 1:..."
-        const self = @fieldParentPtr(ZiglingStep, "step", step);
+        const self: *ZiglingStep = @alignCast(@fieldParentPtr("step", step));
 
         if (self.exercise.skip) {
             print("Skipping {s}\n\n", .{self.exercise.main_file});
@@ -495,8 +495,7 @@ const PrintStep = struct {
     }
 
     fn make(step: *Step, _: *std.Progress.Node) !void {
-        const self = @fieldParentPtr(PrintStep, "step", step);
-
+        const self: *PrintStep = @alignCast(@fieldParentPtr("step", step));
         print("{s}", .{self.message});
     }
 };

+ 4 - 4
test/tests.zig

@@ -152,7 +152,7 @@ const CheckNamedStep = struct {
 
     fn make(step: *Step, _: *std.Progress.Node) !void {
         const b = step.owner;
-        const self = @fieldParentPtr(CheckNamedStep, "step", step);
+        const self: *CheckNamedStep = @alignCast(@fieldParentPtr("step", step));
         const ex = self.exercise;
 
         const stderr_file = try fs.cwd().openFile(
@@ -204,7 +204,7 @@ const CheckStep = struct {
 
     fn make(step: *Step, _: *std.Progress.Node) !void {
         const b = step.owner;
-        const self = @fieldParentPtr(CheckStep, "step", step);
+        const self: *CheckStep = @alignCast(@fieldParentPtr("step", step));
         const exercises = self.exercises;
 
         const stderr_file = try fs.cwd().openFile(
@@ -327,7 +327,7 @@ const FailStep = struct {
 
     fn make(step: *Step, _: *std.Progress.Node) !void {
         const b = step.owner;
-        const self = @fieldParentPtr(FailStep, "step", step);
+        const self: *FailStep = @alignCast(@fieldParentPtr("step", step));
 
         try step.result_error_msgs.append(b.allocator, self.error_msg);
         return error.MakeFailed;
@@ -370,7 +370,7 @@ const HealStep = struct {
 
     fn make(step: *Step, _: *std.Progress.Node) !void {
         const b = step.owner;
-        const self = @fieldParentPtr(HealStep, "step", step);
+        const self: *HealStep = @alignCast(@fieldParentPtr("step", step));
 
         return heal(b.allocator, self.exercises, self.work_path);
     }