authorgravatar for datamanrb@gmail.comdata-man <datamanrb@gmail.com> 2020-05-25 07:44:24+05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-05-28 23:10:44-04:00
logdc4fea983d358125a3b2a80dc169cad7649de6a9
tree070594794b4724dc18cd63ae50f1ef6f5917bc80
parent0328537ca641e0b24218f303c7a1bf0440cd7115

Use tuples in multiTrait


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

lib/std/meta/trait.zig+2-6
...@@ -9,11 +9,7 @@ const meta = @import("../meta.zig");...@@ -9,11 +9,7 @@ const meta = @import("../meta.zig");
99
10pub const TraitFn = fn (type) bool;10pub const TraitFn = fn (type) bool;
1111
12//////Trait generators12pub fn multiTrait(comptime traits: var) TraitFn {
13
14// TODO convert to tuples when #4335 is done
15pub const TraitList = []const TraitFn;
16pub fn multiTrait(comptime traits: TraitList) TraitFn {
17 const Closure = struct {13 const Closure = struct {
18 pub fn trait(comptime T: type) bool {14 pub fn trait(comptime T: type) bool {
19 inline for (traits) |t|15 inline for (traits) |t|
...@@ -39,7 +35,7 @@ test "std.meta.trait.multiTrait" {...@@ -39,7 +35,7 @@ test "std.meta.trait.multiTrait" {
39 }35 }
40 };36 };
4137
42 const isVector = multiTrait(&[_]TraitFn{38 const isVector = multiTrait(.{
43 hasFn("add"),39 hasFn("add"),
44 hasField("x"),40 hasField("x"),
45 hasField("y"),41 hasField("y"),