Commit aded86e690

Andrew Kelley <andrew@ziglang.org>
2020-09-26 05:50:40
std.ArrayHashMap: count and iterator are not deprecated
These APIs allow one to write code that is agnostic of whether it is using an ArrayHashMap or a HashMap, which can be valuable. Specify intent precisely: if you only need the count of the items, it makes sense to have a function for that.
1 parent 21b407b
Changed files (1)
lib/std/array_hash_map.zig
@@ -112,12 +112,10 @@ pub fn ArrayHashMap(
             return self.unmanaged.clearAndFree(self.allocator);
         }
 
-        /// Deprecated. Use `items().len`.
         pub fn count(self: Self) usize {
-            return self.items().len;
+            return self.unmanaged.count();
         }
 
-        /// Deprecated. Iterate using `items`.
         pub fn iterator(self: *const Self) Iterator {
             return Iterator{
                 .hm = self,
@@ -332,6 +330,10 @@ pub fn ArrayHashMapUnmanaged(
             }
         }
 
+        pub fn count(self: Self) usize {
+            return self.entries.items.len;
+        }
+
         /// If key exists this function cannot fail.
         /// If there is an existing item with `key`, then the result
         /// `Entry` pointer points to it, and found_existing is true.