commit 78da0e40a8336dcd140ee2cf04aa6ee3166e67f3 (tree) parent 413a86f7eb5bd7d6d2a57670be5e06ab1217a248 Author: r00ster91 <r00ster91@proton.me> Date: Sun, 28 May 2023 02:10:54 +0200 test cases: taking pointer of global tagged union Closes #11619 Diffstat:
| A | test/cases/taking_pointer_of_global_tagged_union.zig | | | 26 | ++++++++++++++++++++++++++ |
1 file changed, 26 insertions(+), 0 deletions(-)
diff --git a/test/cases/taking_pointer_of_global_tagged_union.zig b/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