zig/test/behavior/bugs/12571.zig
Andrew Kelley 6e9fbc83ca add behavior test for comptime pointer casting
comptime `@ptrCast` a subset of an array, then write through it

closes #2444
2022-12-27 14:44:04 -07:00

24 lines
644 B
Zig

const builtin = @import("builtin");
const std = @import("std");
const expect = std.testing.expect;
const Frame = packed struct {
num: u20,
};
const Entry = packed struct {
other: u12,
frame: Frame,
};
test {
if (builtin.zig_backend == .stage2_x86_64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_aarch64) return error.SkipZigTest; // TODO
if (builtin.zig_backend == .stage2_arm) return error.SkipZigTest; // TODO
const frame = Frame{ .num = 0x7FDE };
var entry = Entry{ .other = 0, .frame = .{ .num = 0xFFFFF } };
entry.frame = frame;
try expect(entry.frame.num == 0x7FDE);
}