authorgravatar for jhc@dismail.deJimmi Holst Christensen <jhc@dismail.de> 2019-01-06 17:58:00+01:00
committergravatar for jhc@dismail.deJimmi Holst Christensen <jhc@dismail.de> 2019-01-06 17:58:00+01:00
log97702988d1783db6840c642809a41d8f176bb500
tree882c7937a48b016add655ca25f0576a8c5e346d5
parent55e95daf543a27961fe9ca7a998d3cbd25d2973b

Added test case


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

test/cases/ptrcast.zig+16
......@@ -34,3 +34,19 @@ fn testReinterpretBytesAsExternStruct() void {
3434 var val = ptr.c;
3535 assertOrPanic(val == 5);
3636}
37
38test "reinterpret struct field at comptime" {
39 const numLittle = comptime Bytes.init(0x12345678);
40 assertOrPanic(std.mem.eql(u8, []u8{ 0x78, 0x56, 0x34, 0x12 }, numLittle.bytes));
41}
42
43const Bytes = struct {
44 bytes: [4]u8,
45
46 pub fn init(v: u32) Bytes {
47 var res: Bytes = undefined;
48 @ptrCast(*align(1) u32, &res.bytes).* = v;
49
50 return res;
51 }
52};