diff options
| author | Veikka Tuominen <git@vexu.eu> | 2022-12-01 11:49:06 +0200 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-12-01 11:49:06 +0200 |
| commit | d0edaabf9d5fd4a8a8e43aef38d8970781dd1c86 (patch) | |
| tree | dfae257fa21ba3489fb623b15ad425f2b5a3a427 /test/behavior | |
| parent | 98037a02384cdd9fa9c71210fb35d24b82e61f36 (diff) | |
| download | zig-d0edaabf9d5fd4a8a8e43aef38d8970781dd1c86.tar.gz zig-d0edaabf9d5fd4a8a8e43aef38d8970781dd1c86.zip | |
Value: fix elemValueAdvanced for optional payloads
Closes #13707
Diffstat (limited to 'test/behavior')
| -rw-r--r-- | test/behavior/type.zig | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/test/behavior/type.zig b/test/behavior/type.zig index 81aeda6171..556a8c990d 100644 --- a/test/behavior/type.zig +++ b/test/behavior/type.zig @@ -535,3 +535,25 @@ test "Type.Fn" { try std.testing.expectEqual(T, fn_type); } } + +test "reified struct field name from optional payload" { + comptime { + const m_name: ?[1]u8 = "a".*; + if (m_name) |*name| { + const T = @Type(.{ .Struct = .{ + .layout = .Auto, + .fields = &.{.{ + .name = name, + .field_type = u8, + .default_value = null, + .is_comptime = false, + .alignment = 1, + }}, + .decls = &.{}, + .is_tuple = false, + } }); + var t: T = .{ .a = 123 }; + try std.testing.expect(t.a == 123); + } + } +} |
