| author | |
| committer | |
| log | 989c0f55e8bbc790dcdd742ddea3d18c1194eab5 |
| tree | dfa2d80de02c92e587fe513cbad8fefd009ddb0a |
| parent | 8bf3e1f8d0902abd4133e2729b3625c25011c3ff |
2 files changed, 19 insertions(+), 0 deletions(-)
test/behavior.zig+1| ... | @@ -81,6 +81,7 @@ test { | ... | @@ -81,6 +81,7 @@ test { |
| 81 | _ = @import("behavior/bugs/11159.zig"); | 81 | _ = @import("behavior/bugs/11159.zig"); |
| 82 | _ = @import("behavior/bugs/11162.zig"); | 82 | _ = @import("behavior/bugs/11162.zig"); |
| 83 | _ = @import("behavior/bugs/11165.zig"); | 83 | _ = @import("behavior/bugs/11165.zig"); |
| 84 | _ = @import("behavior/bugs/11179.zig"); | ||
| 84 | _ = @import("behavior/bugs/11181.zig"); | 85 | _ = @import("behavior/bugs/11181.zig"); |
| 85 | _ = @import("behavior/bugs/11182.zig"); | 86 | _ = @import("behavior/bugs/11182.zig"); |
| 86 | _ = @import("behavior/bugs/11213.zig"); | 87 | _ = @import("behavior/bugs/11213.zig"); |
test/behavior/bugs/11179.zig created+18| ... | @@ -0,0 +1,18 @@ | ||
| 1 | const std = @import("std"); | ||
| 2 | const Type = std.builtin.Type; | ||
| 3 | |||
| 4 | test "Tuple" { | ||
| 5 | const fields_list = fields(@TypeOf(.{})); | ||
| 6 | if (fields_list.len != 0) | ||
| 7 | @compileError("Argument count mismatch"); | ||
| 8 | } | ||
| 9 | |||
| 10 | pub fn fields(comptime T: type) switch (@typeInfo(T)) { | ||
| 11 | .Struct => []const Type.StructField, | ||
| 12 | else => unreachable, | ||
| 13 | } { | ||
| 14 | return switch (@typeInfo(T)) { | ||
| 15 | .Struct => |info| info.fields, | ||
| 16 | else => unreachable, | ||
| 17 | }; | ||
| 18 | } | ||