zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 989c0f55e8bbc790dcdd742ddea3d18c1194eab5 (tree)
parent 8bf3e1f8d0902abd4133e2729b3625c25011c3ff
Author: Veikka Tuominen <git@vexu.eu>
Date:   Thu, 26 May 2022 15:50:50 +0300

stage2: add test for fixed issue

Diffstat:
Mtest/behavior.zig | 1+
Atest/behavior/bugs/11179.zig | 18++++++++++++++++++
2 files changed, 19 insertions(+), 0 deletions(-)

diff --git 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 @@ -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, + }; +}