在行118处,{{clojure.data/diff}}定义了
java.util.Map (diff-similar [a b] (diff-associative a b (set/union (keys a) (keys b))))
由于{{keys}}返回一个key序列,这似乎是一个错误。{{clojure.set/union}}在非集合上的表现奇特且不一致,在这种情况下,两个key序列被连接起来。根据粗略的基准测试,似乎这个(可能是)bug在地图没有共同键时轻微提高性能,而有共同键时显著降低性能。由于{{diff-associative}}中的归并reduce,结果仍然是正确的。
补丁很简单(只需在each key sequence上调用set)。