mirror of
https://github.com/ziglang/zig.git
synced 2026-01-21 23:05:24 +00:00
parent
413a86f7eb
commit
78da0e40a8
26
test/cases/taking_pointer_of_global_tagged_union.zig
Normal file
26
test/cases/taking_pointer_of_global_tagged_union.zig
Normal file
@ -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
|
||||
Loading…
x
Reference in New Issue
Block a user