Commit 51943ff432

daurnimator <quae@daurnimator.com>
2019-12-30 13:09:18
std: meta.TagPayloadType takes the tag type of the union
1 parent 17cc511
Changed files (1)
lib
lib/std/meta.zig
@@ -364,10 +364,8 @@ test "std.meta.activeTag" {
 
 ///Given a tagged union type, and an enum, return the type of the union
 /// field corresponding to the enum tag.
-pub fn TagPayloadType(comptime U: type, tag: var) type {
-    const Tag = @TypeOf(tag);
+pub fn TagPayloadType(comptime U: type, tag: @TagType(U)) type {
     testing.expect(trait.is(builtin.TypeId.Union)(U));
-    testing.expect(trait.is(builtin.TypeId.Enum)(Tag));
 
     const info = @typeInfo(U).Union;