Commit 78da0e40a8

r00ster91 <r00ster91@proton.me>
2023-05-28 02:10:54
test cases: taking pointer of global tagged union
Closes #11619
1 parent 413a86f
Changed files (1)
test/cases/taking_pointer_of_global_tagged_union.zig
@@ -0,0 +1,26 @@
+const std = @import("std");
+
+const A = union(enum) { hello: usize, merp: void };
+
+var global_a: A = .{ .hello = 12 };
+var global_usize: usize = 0;
+
+fn doSomethingWithUsize(ptr: *usize) usize {
+    ptr.* = ptr.* + 1;
+    return ptr.*;
+}
+
+pub fn main() !void {
+    try std.testing.expect(doSomethingWithUsize(&global_usize) == 1);
+
+    switch (global_a) {
+        .merp => return,
+        .hello => |*value| {
+            try std.testing.expect(doSomethingWithUsize(value) == 13);
+        },
+    }
+}
+
+// run
+// backend=llvm
+// target=native