Browse Source

Merge pull request 'reuse fields' (#173) from rofrol/ziglings--exercises:reuse-fields into main

Reviewed-on: https://codeberg.org/ziglings/exercises/pulls/173
Chris Boesch 9 months ago
parent
commit
d0d31ae73a
2 changed files with 7 additions and 6 deletions
  1. 4 3
      exercises/065_builtins2.zig
  2. 3 3
      patches/patches/065_builtins2.patch

+ 4 - 3
exercises/065_builtins2.zig

@@ -110,15 +110,16 @@ pub fn main() void {
     // name will not be printed if the field is of type 'void'
     // (which is a zero-bit type that takes up no space at all!):
     if (fields[0].??? != void) {
-        print(" {s}", .{@typeInfo(Narcissus).@"struct".fields[0].name});
+        print(" {s}", .{fields.name});
+        print(" {s}", .{fields[0].name});
     }
 
     if (fields[1].??? != void) {
-        print(" {s}", .{@typeInfo(Narcissus).@"struct".fields[1].name});
+        print(" {s}", .{fields[1].name});
     }
 
     if (fields[2].??? != void) {
-        print(" {s}", .{@typeInfo(Narcissus).@"struct".fields[2].name});
+        print(" {s}", .{fields[2].name});
     }
 
     // Yuck, look at all that repeated code above! I don't know

+ 3 - 3
patches/patches/065_builtins2.patch

@@ -24,16 +24,16 @@
      // (which is a zero-bit type that takes up no space at all!):
 -    if (fields[0].??? != void) {
 +    if (fields[0].type != void) {
-         print(" {s}", .{@typeInfo(Narcissus).@"struct".fields[0].name});
+         print(" {s}", .{fields[0].name});
      }
  
 -    if (fields[1].??? != void) {
 +    if (fields[1].type != void) {
-         print(" {s}", .{@typeInfo(Narcissus).@"struct".fields[1].name});
+         print(" {s}", .{fields[1].name});
      }
  
 -    if (fields[2].??? != void) {
 +    if (fields[2].type != void) {
-         print(" {s}", .{@typeInfo(Narcissus).@"struct".fields[2].name});
+         print(" {s}", .{fields[2].name});
      }