评论由:ppotter
附件:002-make-PersistentQueue-implement-Asequential.diff
这个补丁是 001-make-PersistentQueue-implement-List.diff 的替代方案。
所以,我接受了你关于 ASeq 的看法,但觉得 PersistentQueue 直接实现 ISeq 感觉不太好。
所以我将 ASeq 分为两部分——ASequential,它实现了 j.u.{Collection,List} 并管理列表相等性和散列码;以及 ASeq,老实说,似乎没有做什么。
此外,这个补丁还解决了CLJ-1070问题,所以我增加了该票测试以证明这一点。它还通过删除所有equals、hashCode以及Collection相关的内容来简化PersistentQueue。
(结果表明,由于ASeq已经实现了Obj,PersistentQueue实现Obj并不妨碍其使用。)
希望得到对这些方法、与之前的补丁以及CLJ-1070的补丁有何不同之处的评论。