mirror of
https://github.com/ziglang/zig.git
synced 2025-12-30 10:03:21 +00:00
This makes all union test cases succeed. `rem` was also implemented as all we had to do is enable the instruction. Loading and storing values based on ABI-size was simplified to a direct abiSize() call. We also enabled all the newly passing test cases and disable them for all non-passing backends. All of those test cases were verified to see if they perhaps already pass for the c-backend.
22 lines
440 B
Zig
22 lines
440 B
Zig
const E = union(enum) {
|
|
A: [9]u8,
|
|
B: u64,
|
|
};
|
|
const S = struct {
|
|
x: u8,
|
|
y: E,
|
|
};
|
|
|
|
const expect = @import("std").testing.expect;
|
|
const builtin = @import("builtin");
|
|
|
|
test "bug 394 fixed" {
|
|
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest;
|
|
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest;
|
|
const x = S{
|
|
.x = 3,
|
|
.y = E{ .B = 1 },
|
|
};
|
|
try expect(x.x == 3);
|
|
}
|