diff --git a/test/behavior.zig b/test/behavior.zig index 4d8b3587bc..fabc8c0df1 100644 --- a/test/behavior.zig +++ b/test/behavior.zig @@ -81,6 +81,7 @@ test { _ = @import("behavior/bugs/11159.zig"); _ = @import("behavior/bugs/11162.zig"); _ = @import("behavior/bugs/11165.zig"); + _ = @import("behavior/bugs/11179.zig"); _ = @import("behavior/bugs/11181.zig"); _ = @import("behavior/bugs/11182.zig"); _ = @import("behavior/bugs/11213.zig"); diff --git a/test/behavior/bugs/11179.zig b/test/behavior/bugs/11179.zig new file mode 100644 index 0000000000..84fa6183f3 --- /dev/null +++ b/test/behavior/bugs/11179.zig @@ -0,0 +1,18 @@ +const std = @import("std"); +const Type = std.builtin.Type; + +test "Tuple" { + const fields_list = fields(@TypeOf(.{})); + if (fields_list.len != 0) + @compileError("Argument count mismatch"); +} + +pub fn fields(comptime T: type) switch (@typeInfo(T)) { + .Struct => []const Type.StructField, + else => unreachable, +} { + return switch (@typeInfo(T)) { + .Struct => |info| info.fields, + else => unreachable, + }; +}