authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2022-02-01 06:26:46 -08:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2022-02-01 06:26:46 -08:00
log08ce4f36d30dd3b6516215731da7b16fece72e07
tree75c1734cfe077ef546216beb0e3aed4c3722a9fe
parent49b2881bff276dbd136ace113c4f6878638dfc4b

check for .len field in sliceables before checking container fields


1 files changed, 3 insertions(+), 3 deletions(-)

src/lib.zig+3-3
......@@ -194,12 +194,12 @@ fn FieldSearch(comptime T: type, comptime args: []const []const u8) type {
194194}
195195
196196fn Field(comptime T: type, comptime field_name: []const u8) type {
197 inline for (std.meta.fields(T)) |fld| {
198 if (std.mem.eql(u8, fld.name, field_name)) return fld.field_type;
199 }
200197 if (std.meta.trait.isIndexable(T) and std.mem.eql(u8, field_name, "len")) {
201198 return usize;
202199 }
200 inline for (std.meta.fields(T)) |fld| {
201 if (std.mem.eql(u8, fld.name, field_name)) return fld.field_type;
202 }
203203 @compileError(std.fmt.comptimePrint("pek: unknown field {s} on type {s}", .{ field_name, @typeName(T) }));
204204}
205205