diff --git a/build.zig.zon b/build.zig.zon index 0422ba5..45ba905 100644 --- a/build.zig.zon +++ b/build.zig.zon @@ -3,8 +3,8 @@ .version = "0.1.0", .dependencies = .{ .@"zba-util" = .{ - .url = "https://git.musuka.dev/paoda/zba-util/archive/e616cf09e53f5c402c8f040d14baa211683e70e3.tar.gz", - .hash = "1220b80b2c0989dcc47275ab9d7d70da4858ef3c1fe1f934e8d838e65028127f6ef3", + .url = "https://git.musuka.dev/paoda/zba-util/archive/8b09efb522c2fa4bb34e754697cb1c47b32b1274.tar.gz", + .hash = "12209ce0e729460b997706e47a53a32f1842672cd120189e612f4871731780a30ed0", }, }, } diff --git a/lib/bitfield.zig b/lib/bitfield.zig index b9ca43e..238ca53 100644 --- a/lib/bitfield.zig +++ b/lib/bitfield.zig @@ -26,13 +26,13 @@ fn BitType(comptime FieldType: type, comptime ValueType: type, comptime shamt: u } pub fn read(self: anytype) ValueType { - return @bitCast(ValueType, @truncate(u1, self.bits.field().* >> shamt)); + return @as(ValueType, @bitCast(@as(u1, @truncate(self.bits.field().* >> shamt)))); } // Since these are mostly used with MMIO, I want to avoid // reading the memory just to write it again, also races pub fn write(self: anytype, val: ValueType) void { - if (@bitCast(bool, val)) { + if (@as(bool, @bitCast(val))) { self.set(); } else { self.unset(); @@ -67,17 +67,17 @@ pub fn Bitfield(comptime FieldType: type, comptime shamt: usize, comptime num_bi dummy: FieldType, fn field(self: anytype) PtrCastPreserveCV(@This(), @TypeOf(self), FieldType) { - return @ptrCast(PtrCastPreserveCV(@This(), @TypeOf(self), FieldType), self); + return @as(PtrCastPreserveCV(@This(), @TypeOf(self), FieldType), @ptrCast(self)); } pub fn write(self: anytype, val: ValueType) void { self.field().* &= ~self_mask; - self.field().* |= @intCast(FieldType, val) << shamt; + self.field().* |= @as(FieldType, @intCast(val)) << shamt; } pub fn read(self: anytype) ValueType { const val: FieldType = self.field().*; - return @intCast(ValueType, (val & self_mask) >> shamt); + return @as(ValueType, @intCast((val & self_mask) >> shamt)); } }; }