评论者: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 的问题,所以我加入了这个 ticket 中的测试来证明这一点。它还通过移除所有的 equals/hashCode 东西和所有 Collection 东西来整理 PersistentQueue。
(结果证明,由于 ASeq 已经实现了 Obj,PersistentQueue 实现 Obj 并不影响使用它.)
期待对这种方法以及它与之前的补丁在这里和 CLJ-1070 上的补丁有何不同的评论。