2024年的Clojure状态调查!分享您的想法。

欢迎!有关如何使用本网站的信息,请参阅关于页面。

0
ClojureScript

ChunkedCons中存在一个bug。在Clojure中,ChunkedCons(正确地)在chunked-next中总是调用{{seq}}。在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}}上也只是调用{{seq}}在{{more}}。相当直观。

0

评论者:dnolen

这个补丁需要测试。

0

评论者:aralo

已添加测试。

0
by

由 mfikes 发布的评论:

补丁无法应用

0
by

评论者:aralo

补丁已重新构建

0
by

由 mfikes 发布的评论:

补丁不再应用。

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