diff --git a/src/lib.zig b/src/lib.zig index 4164107995a6898e9e48757e563537d3413d02c2..09f6fcf5dbac1e90c61f5a3d7b7cea7e74a59993 100644 --- a/src/lib.zig +++ b/src/lib.zig @@ -184,6 +184,10 @@ inline fn do(alloc: std.mem.Allocator, writer: anytype, comptime value: astgen.V return; } comptime assertEqual(v.args.len, 1); + if (comptime std.meta.trait.isIndexable(T)) { + try doif(alloc, writer, body, bottom, data, ctx, opts, x.len == 0); + return; + } switch (comptime TI) { .Bool => try doif(alloc, writer, body, bottom, data, ctx, opts, !x), .Optional => try docap(alloc, writer, body, bottom, data, ctx, opts, !x),