diff --git a/src/libstd/map.rs b/src/libstd/map.rs index 3d29d5d7ea30..bacbca37a473 100644 --- a/src/libstd/map.rs +++ b/src/libstd/map.rs @@ -155,9 +155,7 @@ mod chained { fn search_tbl( tbl: t, k: K, h: uint) -> search_result { - let idx = h % vec::len(tbl.chains); - alt tbl.chains[idx] { absent. { ret not_found; @@ -221,11 +219,13 @@ mod chained { } found_first(idx, entry) { + tbl.size -= 1u; tbl.chains[idx] = entry.next; ret option::some(entry.value); } found_after(eprev, entry) { + tbl.size -= 1u; eprev.next = entry.next; ret option::some(entry.value); }