authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2023-09-15 22:08:14 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2023-09-15 22:08:14 -07:00
log4990ac0f76fb67422761376b9d1dc35e260a5c2a
treef9d6046e37eb69e8f8cafbb55d4b6163efed0494
parent6eb6190aa5871ea60ea97946424b90f04e36d83c

assert the number of args passed to a custom function matches what it expects


1 files changed, 2 insertions(+), 0 deletions(-)

src/lib.zig+2
......@@ -232,6 +232,7 @@ inline fn do(alloc: std.mem.Allocator, writer: anytype, comptime value: astgen.V
232232 var list = std.ArrayList(u8).init(arena.allocator());
233233 errdefer list.deinit();
234234 var args: std.meta.ArgsTuple(@TypeOf(func)) = undefined;
235 comptime std.debug.assert(args.len - 2 == v.args.len);
235236 args.@"0" = alloc;
236237 args.@"1" = list.writer();
237238 inline for (v.args, 0..) |arg, i| {
......@@ -249,6 +250,7 @@ inline fn do(alloc: std.mem.Allocator, writer: anytype, comptime value: astgen.V
249250 errdefer list.deinit();
250251 const AT = std.meta.ArgsTuple(@TypeOf(func));
251252 const ATT = std.meta.fieldInfo(AT, .@"3").type;
253 comptime std.debug.assert(std.meta.fields(ATT).len == v.args.len);
252254 var tupargs = @as(ATT, undefined);
253255 var args = .{
254256 alloc,