diff --git a/compiler/builtins/bitcode/src/dict.zig b/compiler/builtins/bitcode/src/dict.zig index d2dab07c7b..ee483c7644 100644 --- a/compiler/builtins/bitcode/src/dict.zig +++ b/compiler/builtins/bitcode/src/dict.zig @@ -66,11 +66,14 @@ fn capacityOfLevel(input: usize) usize { const Alignment = extern struct { bits: u8, - const VALUE_BEFORE_KEY_FLAG = 0b1000_0000; + const VALUE_BEFORE_KEY_FLAG: u8 = 0b1000_0000; fn toU32(self: Alignment) u32 { - // xor to wipe the leftmost bit - return self.bits ^ Alignment.VALUE_BEFORE_KEY_FLAG; + if (self.bits & Alignment.VALUE_BEFORE_KEY_FLAG == 1) { + return self.bits ^ Alignment.VALUE_BEFORE_KEY_FLAG; + } else { + return self.bits; + } } fn keyFirst(self: Alignment) bool {