1const std = @import("std");
2const assert = std.debug.assert;
3const expectEqual = std.testing.expectEqual;
4
5const PackedStruct = packed struct(u8) {
6 lo: u4,
7 hi: u4,
8};
9
10test "convert to and from backing integer" {
11 const original: PackedStruct = .{ .lo = 0b1100, .hi = 0b0101 };
12
13 const backing_int = @backingInt(original);
14 comptime assert(@TypeOf(backing_int) == u8);
15 try expectEqual(0b0101_1100, backing_int);
16
17 const reconstructed: PackedStruct = @fromBackingInt(backing_int);
18 try expectEqual(original, reconstructed);
19}
20
21// test