From 2cf74676e372843d438bcee9c73576bd652ac9f7 Mon Sep 17 00:00:00 2001 From: Willow Ahrens Date: Fri, 18 Apr 2025 11:34:30 -0400 Subject: [PATCH 1/2] unordered --- src/ordered_set.jl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/ordered_set.jl b/src/ordered_set.jl index 34609e9..230ede1 100644 --- a/src/ordered_set.jl +++ b/src/ordered_set.jl @@ -87,7 +87,11 @@ end function hash(s::OrderedSet, h::UInt) h = hash(orderedset_seed, h) s.dict.ndel > 0 && rehash!(s.dict) - hash(s.dict.keys, h) + h_2 = UInt(0) + for k in s.dict.keys + h_2 ⊻= hash(k, h) + end + h_2 end # Deprecated functionality, see From 83a1117202c4098439197b1f035b9fc739ee3add Mon Sep 17 00:00:00 2001 From: Willow Ahrens Date: Fri, 18 Apr 2025 11:42:19 -0400 Subject: [PATCH 2/2] I didn't realize this was tested behavior --- test/test_ordered_set.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_ordered_set.jl b/test/test_ordered_set.jl index d051a46..e76000e 100644 --- a/test/test_ordered_set.jl +++ b/test/test_ordered_set.jl @@ -21,7 +21,7 @@ using OrderedCollections, Test s1 = OrderedSet{String}(["bar", "foo"]) s2 = OrderedSet{String}(["foo", "bar"]) s3 = OrderedSet{String}(["baz"]) - @test hash(s1) != hash(s2) + @test hash(s1) == hash(s2) @test hash(s1) != hash(s3) end