diff --git a/src/lib.zig b/src/lib.zig index e954c49eceed48f472346a86285e199e4946fa00..07fab39bd248c46077d0cd2e1cebf67a954bdea3 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -239,3 +239,11 @@ fn docap(alloc: *std.mem.Allocator, writer: anytype, comptime top: astgen.Value, try do(alloc, writer, bottom, data, ctx, indent, flag1); } } + +fn FnArgsTuple(func: anytype) type { + var types: []const type = &.{}; + inline for (@typeInfo(@TypeOf(func)).Fn.args) |arg| { + types = types ++ &[_]type{arg.arg_type.?}; + } + return std.meta.Tuple(types); +}