aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/type.zig
diff options
context:
space:
mode:
Diffstat (limited to 'test/behavior/type.zig')
-rw-r--r--test/behavior/type.zig22
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);
+ }
+ }
+}