authorgravatar for r00ster91@proton.meWooster <r00ster91@proton.me> 2023-05-28 02:10:54+02:00
committergravatar for r00ster91@proton.meWooster <r00ster91@proton.me> 2023-06-27 19:57:23-04:00
log78da0e40a8336dcd140ee2cf04aa6ee3166e67f3
treed4396ee76bddc1448aceadcd7457688b833363c8
parent413a86f7eb5bd7d6d2a57670be5e06ab1217a248

test cases: taking pointer of global tagged union

Closes #11619

1 files changed, 26 insertions(+), 0 deletions(-)

test/cases/taking_pointer_of_global_tagged_union.zig created+26
......@@ -0,0 +1,26 @@
1const std = @import("std");
2
3const A = union(enum) { hello: usize, merp: void };
4
5var global_a: A = .{ .hello = 12 };
6var global_usize: usize = 0;
7
8fn doSomethingWithUsize(ptr: *usize) usize {
9 ptr.* = ptr.* + 1;
10 return ptr.*;
11}
12
13pub fn main() !void {
14 try std.testing.expect(doSomethingWithUsize(&global_usize) == 1);
15
16 switch (global_a) {
17 .merp => return,
18 .hello => |*value| {
19 try std.testing.expect(doSomethingWithUsize(value) == 13);
20 },
21 }
22}
23
24// run
25// backend=llvm
26// target=native