| 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 | 81 | _ = @import("behavior/bugs/11159.zig"); |
| 82 | 82 | _ = @import("behavior/bugs/11162.zig"); |
| 83 | 83 | _ = @import("behavior/bugs/11165.zig"); |
| 84 | _ = @import("behavior/bugs/11179.zig"); | |
| 84 | 85 | _ = @import("behavior/bugs/11181.zig"); |
| 85 | 86 | _ = @import("behavior/bugs/11182.zig"); |
| 86 | 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 | } |