2024 Clojure调查问卷中分享您的想法!

欢迎!请参见关于页面,获取更多关于该网站如何运作的信息。

0
ClojureScript

ChunkedCons存在一个bug。在Clojure中,ChunkedCons(正确地)总是调用{{seq}}在chunked-next中。在CLJS中并没有这样做。但是,由于ChunkedCons必须是惰性的,所以它几乎总是以(空)惰性序列作为“更多”部分。

bug

`
(-> (map inc (vec (range 64))))

seq
chunk-next
seq
chunk-next)

`

返回一个空序列而不是nil。由于还没有什么调用ChunkedCons的chunk-next,所以这个问题还没有出现。

7 答案

0

评论由:aralo

发现另一个暴露的bug:当前的实现调用{{-seq}}在{{more}}上,这可能是nil,这会导致程序崩溃。因此,补丁还稍微改变了对{{-next}}的调用,同样是在{{more}}上调用{{seq}}。非常直接。

0

评论由:dnolen

这个补丁需要一个测试。

0

评论由:aralo

已添加测试。

0

评论由:mfikes发布

补丁不适用

0

评论由:aralo

补丁已重编

0

评论由:mfikes发布

补丁不再适用。

0
参考:[https://clojure.atlassian.net/browse/CLJS-2469](https://clojure.atlassian.net/browse/CLJS-2469) (由 aralo 报告)
...