From b13dd3cf61fc01b189b5b585651f46de9319953e Mon Sep 17 00:00:00 2001 From: data-man Date: Mon, 25 May 2020 01:50:22 +0500 Subject: [PATCH] Treat vectors as indexable --- lib/std/meta/trait.zig | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/std/meta/trait.zig b/lib/std/meta/trait.zig index c99e1389f4..3be13057b5 100644 --- a/lib/std/meta/trait.zig +++ b/lib/std/meta/trait.zig @@ -273,17 +273,19 @@ pub fn isIndexable(comptime T: type) bool { } return true; } - return comptime is(.Array)(T); + return comptime is(.Array)(T) or is(.Vector)(T); } test "std.meta.trait.isIndexable" { const array = [_]u8{0} ** 10; const slice = @as([]const u8, &array); + const vector: meta.Vector(2, u32) = [_]u32{0} ** 2; testing.expect(isIndexable(@TypeOf(array))); testing.expect(isIndexable(@TypeOf(&array))); testing.expect(isIndexable(@TypeOf(slice))); testing.expect(!isIndexable(meta.Child(@TypeOf(slice)))); + testing.expect(isIndexable(@TypeOf(vector))); } pub fn isNumber(comptime T: type) bool {