From d0666e523ffd29dd25b8eec6bfbc31c717bddfce Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Tue, 7 Nov 2023 17:09:03 -0800 Subject: [PATCH] config: packed struct fields can clone directly via copy --- src/config/Config.zig | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/config/Config.zig b/src/config/Config.zig index 83f56def3..26425fb12 100644 --- a/src/config/Config.zig +++ b/src/config/Config.zig @@ -4,6 +4,7 @@ const Config = @This(); const std = @import("std"); const builtin = @import("builtin"); +const assert = std.debug.assert; const Allocator = std.mem.Allocator; const ArenaAllocator = std.heap.ArenaAllocator; const fontpkg = @import("../font/main.zig"); @@ -1370,7 +1371,11 @@ fn cloneValue(alloc: Allocator, comptime T: type, src: T) !T { src orelse return null, ), - .Struct => return try src.clone(alloc), + .Struct => |info| { + // Packed structs we can return directly as copies. + assert(info.layout == .Packed); + return src; + }, else => { @compileLog(T);