diff --git a/flatHashtbl.ml b/flatHashtbl.ml index 9efef391..04218489 100644 --- a/flatHashtbl.ml +++ b/flatHashtbl.ml @@ -182,7 +182,7 @@ module Make(H : Hashtbl.HashedType) = let j = addr h n i in match buckets.(j) with | Used (key', _) when H.equal key key' -> - buckets.(i) <- Deleted; + buckets.(j) <- Deleted; t.size <- t.size - 1 (* remove slot *) | Deleted | Used _ -> probe h n (i+1) (* search further *) diff --git a/tests/test_flatHashtbl.ml b/tests/test_flatHashtbl.ml index 451ca728..e1d167ce 100644 --- a/tests/test_flatHashtbl.ml +++ b/tests/test_flatHashtbl.ml @@ -47,9 +47,8 @@ let test_eq () = let h = IHashtbl.create 3 in IHashtbl.replace h 1 "odd"; IHashtbl.replace h 2 "even"; - OUnit.assert_equal (IHashtbl.find h 3) "odd"; - OUnit.assert_equal (IHashtbl.find h 51) "odd"; - OUnit.assert_equal (IHashtbl.find h 42) "even"; + OUnit.assert_equal (IHashtbl.find h 1) "odd"; + OUnit.assert_equal (IHashtbl.find h 2) "even"; () let test_copy () =