summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--exercises/071_comptime6.zig9
-rw-r--r--patches/patches/071_comptime6.patch16
2 files changed, 13 insertions, 12 deletions
diff --git a/exercises/071_comptime6.zig b/exercises/071_comptime6.zig
index ce76607..3df9299 100644
--- a/exercises/071_comptime6.zig
+++ b/exercises/071_comptime6.zig
@@ -36,13 +36,14 @@ pub fn main() void {
// statement was repeated three times almost verbatim. Yuck!
//
// Please use an 'inline for' to implement the block below
- // for each field in the slice 'fields'!
+ // for each field in the corresponding slices (they're of the same length)!
- const fields = @typeInfo(Narcissus).@"struct".fields;
+ const field_names = @typeInfo(Narcissus).@"struct".field_names;
+ const field_types = @typeInfo(Narcissus).@"struct".field_types;
??? {
- if (field.type != void) {
- print(" {s}", .{field.name});
+ if (field_type != void) {
+ print(" {s}", .{field_name});
}
}
diff --git a/patches/patches/071_comptime6.patch b/patches/patches/071_comptime6.patch
index 98fb6e3..b5d2154 100644
--- a/patches/patches/071_comptime6.patch
+++ b/patches/patches/071_comptime6.patch
@@ -1,11 +1,11 @@
---- exercises/071_comptime6.zig 2024-09-02 19:21:50.250454978 +0200
-+++ answers/071_comptime6.zig 2024-09-02 19:21:23.553250563 +0200
-@@ -40,7 +40,7 @@
-
- const fields = @typeInfo(Narcissus).@"struct".fields;
+--- exercises/071_comptime6.zig 2026-06-01 15:35:27.223400223 +0200
++++ answers/071_comptime6.zig 2026-06-01 15:36:35.349728561 +0200
+@@ -41,7 +41,7 @@
+ const field_names = @typeInfo(Narcissus).@"struct".field_names;
+ const field_types = @typeInfo(Narcissus).@"struct".field_types;
- ??? {
-+ inline for (fields) |field| {
- if (field.type != void) {
- print(" {s}", .{field.name});
++ inline for (field_names, field_types) |field_name, field_type| {
+ if (field_type != void) {
+ print(" {s}", .{field_name});
}