From 4480762e83f9c9f56a397b743a3d5867e1abf499 Mon Sep 17 00:00:00 2001 From: Luka Markušić Date: Mon, 1 Jun 2026 15:29:58 +0200 Subject: Fix 065_builtins2.zig because of new build system --- exercises/065_builtins2.zig | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) (limited to 'exercises') diff --git a/exercises/065_builtins2.zig b/exercises/065_builtins2.zig index eb8f3aa..78cd23b 100644 --- a/exercises/065_builtins2.zig +++ b/exercises/065_builtins2.zig @@ -93,36 +93,25 @@ pub fn main() void { print("He has room in his heart for:", .{}); - // A StructFields array - const fields = @typeInfo(Narcissus).@"struct".fields; + // `field_names` is a slice of strings and it holds the names of the struct's fields + // `field_types` is a slice of strings and it holds the types of the struct's fields, + // it is guaranteed to be the same length as `field_names` + const field_names = @typeInfo(Narcissus).@"struct".field_names; + const field_types = @typeInfo(Narcissus).@"struct".field_types; - // 'fields' is a slice of StructFields. Here's the declaration: - // - // pub const StructField = struct { - // name: [:0]const u8, // Don't worry about `:0` yet! - // type: type, - // default_value_ptr: ?*const anyopaque, - // is_comptime: bool, - // alignment: comptime_int, - // - // defaultValue() ?sf.type // Function that loads the - // // field's default value from - // // `default_value_ptr` - // }; - // // Please complete these 'if' statements so that the field // 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}", .{fields[0].name}); + if (field_???[???] != void) { + print(" {s}", .{field_???[???]}); } - if (fields[1].??? != void) { - print(" {s}", .{fields[1].name}); + if (field_???[???] != void) { + print(" {s}", .{field_???[???]}); } - if (fields[2].??? != void) { - print(" {s}", .{fields[2].name}); + if (field_???[???] != void) { + print(" {s}", .{field_???[???]}); } // Yuck, look at all that repeated code above! I don't know -- cgit v1.2.3