Broken set equality for sets of equal sets

Description

With both clojure 1.6.0 and 1.7.0-RC1 I get the following inconsistent behavior.

Different kinds of sets are equal which is expected:

However, sets containing equal sets are not equal:

This is similar to http://dev.clojure.org/jira/browse/CLJ-1649 and probably caused by http://dev.clojure.org/jira/browse/CLJ-1372.

Environment

None

Activity

Show:
Andy Fingerhut
May 29, 2015, 2:13 AM

There could be an issue where flatland.ordered.set/ordered-set is still using a pre-Clojure-1.6.0 hash function, and should be updated.

Tassilo Horn
May 29, 2015, 6:26 AM
Andy Fingerhut
May 29, 2015, 6:40 AM

Yeah, that was correct with Clojure 1.5.1 and earlier. With Clojure 1.6.0, it should look more like what data.avl's was updated to around the time Clojure 1.6.0 was released, here: https://github.com/clojure/data.avl/blob/master/src/main/clojure/clojure/data/avl.clj#L53-L57

I will file an issue for ordered-set.

Andy Fingerhut
May 29, 2015, 6:43 AM

https://github.com/amalloy/ordered/issues/16 was already filed recently. I added a comment with the same link to data.avl example there.

Andy Fingerhut
May 29, 2015, 8:47 AM

I've created a PR for the issue with amalloy/ordered sets and maps: https://github.com/amalloy/ordered/pull/18

Duplicate

Assignee

Unassigned

Reporter

Tassilo Horn

Labels

Approval

None

Patch

None

Affects versions

Priority

Major