commit fb3afc8d3da547c1b73c9cf18cd1a394b0ebefbc (tree)
parent bfda12efcf2f6b4bc6803f520108b7ce05636965
Author: marko <marko03kostic@protonmail.com>
Date: Thu, 11 Sep 2025 00:14:01 +0200
use pointer subtraction
Diffstat:
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/lib/std/hash_map.zig b/lib/std/hash_map.zig
@@ -1267,12 +1267,11 @@ pub fn HashMapUnmanaged(
/// TODO: answer the question in these doc comments, does this
/// increase the unused capacity by one?
pub fn removeByPtr(self: *Self, key_ptr: *K) void {
- // TODO: replace with pointer subtraction once supported by zig
// if @sizeOf(K) == 0 then there is at most one item in the hash
// map, which is assumed to exist as key_ptr must be valid. This
// item must be at index 0.
const idx = if (@sizeOf(K) > 0)
- (@intFromPtr(key_ptr) - @intFromPtr(self.keys())) / @sizeOf(K)
+ (key_ptr - self.keys())
else
0;