评论由:ppotter 提出
附上 002-make-PersistentQueue-implement-Asequential.diff
此补丁是替代 001-make-PersistentQueue-implement-List.diff 的方案
所以我采纳了你关于 ASeq 的建议,但感觉直接让 PersistentQueue 实现 ISeq 似乎不太合适。
所以我将 ASeq 分成两部分——ASequential,它实现了 j.u.{Collection,List} 并管理 List-equality 和 hashcodes;以及 ASeq,实际上……坦白说,似乎已经不再做了。
作为额外的好处,这个补丁还解决了 CLJ-1070,所以我添加了该签中的测试来证明这一点。此补丁还通过删除所有 equals/hashCode 东西和所有 Collection 东西来整理 PersistentQueue。
(结果是,由于 ASeq 已经实现了 Obj,PersistentQueue 实现 Obj 的实际上并没有构成障碍。)
希望得到关于这种方法的评论,以及它与这里的前一个补丁和 CLJ-1070 上的补丁有何不同。