From 02301520811d7796de6e4f87961a44a6f458f702 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Wed, 10 Jun 2026 01:43:07 -0700 Subject: [PATCH] StructOfArrays: preserve field attributes --- src/StructOfArrays.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/StructOfArrays.zig b/src/StructOfArrays.zig index 2b2ca33554ea9d8418f6706d6f52a3ef69d53d65..820359c8a2aa77f924f5d10518d0786318abcb71 100644 --- a/src/StructOfArrays.zig +++ b/src/StructOfArrays.zig @@ -8,12 +8,18 @@ pub fn StructOfArrays(len: usize, T: type) type { const fields = info.fields; var names: [fields.len][]const u8 = undefined; var types: [fields.len]type = undefined; + var attrs: [fields.len]std.builtin.Type.StructField.Attributes = undefined; for (fields, 0..) |item, i| { names[i] = item.name; types[i] = [len]item.type; + attrs[i] = .{ + .@"comptime" = item.is_comptime, + .@"align" = item.alignment, + .default_value_ptr = item.default_value_ptr, + }; } if (info.is_tuple) return @Tuple(&types); - return @Struct(.auto, null, &names, &types, &@splat(.{})); + return @Struct(.auto, null, &names, &types, &attrs); } test { -- 2.54.0