From 7126b2afd828171cb19945e00d5a6f15ea6cef4f Mon Sep 17 00:00:00 2001 From: Janne Hellsten Date: Sat, 26 Sep 2026 13:55:39 +0300 Subject: [PATCH] std.bit_set: bugfix Integer.setAll Also changes the setAll test case to trigger the mask bug. The test fails without the mask fix. --- lib/std/bit_set.zig | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/std/bit_set.zig b/lib/std/bit_set.zig index f3e477cff91fb5ea7da76b9235ac7d3cfa47d512..72478ec895abe6b5e8ddef32a09a045eb3063698 100644 --- a/lib/std/bit_set.zig +++ b/lib/std/bit_set.zig @@ -170,7 +170,7 @@ pub fn Integer(comptime size: u16) type { /// Set all bits to 1. pub fn setAll(self: *Self) void { - self.mask = ~self.mask; + self.mask = ~@as(MaskInt, 0); } /// Performs a union of two bit sets, and stores the @@ -1671,6 +1671,7 @@ fn testBitSet(a: anytype, b: anytype, len: usize) !void { a.unsetAll(); try testing.expectEqual(0, a.count()); + fillEven(a, len); a.setAll(); try testing.expectEqual(len, a.count()); } -- 2.54.0