about summary refs log tree commit diff
path: root/lang/zig/struct-anon.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lang/zig/struct-anon.zig')
-rw-r--r--lang/zig/struct-anon.zig20
1 files changed, 20 insertions, 0 deletions
diff --git a/lang/zig/struct-anon.zig b/lang/zig/struct-anon.zig
new file mode 100644
index 0000000..a666bd0
--- /dev/null
+++ b/lang/zig/struct-anon.zig
@@ -0,0 +1,20 @@
+const expect = @import("std").testing.expect;
+
+test "fully anonymous struct" {
+    dump(.{
+        .int = @as(u32, 1234),
+        .float = @as(f64, 12.34),
+        .b = true,
+        .s = "hi",
+    });
+}
+
+fn dump(args: anytype) void {
+    expect(args.int == 1234);
+    expect(args.float == 12.34);
+    expect(args.b);
+    expect(args.s[0] == 'h');
+    expect(args.s[1] == 'i');
+    // Type is well infered, i.e. the following fail at comp time:
+    // expect(args.a);
+}