diff --git a/src/lib.zig b/src/lib.zig index 09f6fcf5dbac1e90c61f5a3d7b7cea7e74a59993..b5100e8743f9030d2c7375c6d27468ad8dda498e 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -232,6 +232,7 @@ inline fn do(alloc: std.mem.Allocator, writer: anytype, comptime value: astgen.V var list = std.ArrayList(u8).init(arena.allocator()); errdefer list.deinit(); var args: std.meta.ArgsTuple(@TypeOf(func)) = undefined; + comptime std.debug.assert(args.len - 2 == v.args.len); args.@"0" = alloc; args.@"1" = list.writer(); inline for (v.args, 0..) |arg, i| { @@ -249,6 +250,7 @@ inline fn do(alloc: std.mem.Allocator, writer: anytype, comptime value: astgen.V errdefer list.deinit(); const AT = std.meta.ArgsTuple(@TypeOf(func)); const ATT = std.meta.fieldInfo(AT, .@"3").type; + comptime std.debug.assert(std.meta.fields(ATT).len == v.args.len); var tupargs = @as(ATT, undefined); var args = .{ alloc,