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

欢迎!请访问关于页面以了解如何工作的更多信息。

+1
集合
已关闭
空集合的元数据丢失


user=> (meta '^:foo [])
nil  ;;预期结果为{:foo true},如下所示
user=> (meta '^:foo [1])
{:foo true}


此错误会传播到^:const变量

user=> (def ^:const foo ^:foo [])
#'user/foo
user=> (meta foo)
nil
user=> (meta @#'foo)
{:foo true}


*原因:* 如同CLJ-1093,空集合被替换成丢失元数据的EmptyExpr

*建议:* 如果有元数据存在,不要替换为EmptyExpr。

*补丁:* 0001-Support-retrieval-of-metadata-from-quoted-empty-lite.patch

*审核者:**
已关闭,备注:发布

19 答案

0

评论由:sohta发表

这款车有机会修复吗?我最近遇到了。

0
_评论由:alexmiller发表_

Rich已经审核过,所以正在考虑中。
0

评论由:sohta发表

耶!我希望一切顺利 :)

0
参考资料: https://clojure.atlassian.net/browse/CLJ-1187 (由 bronsa 报告)
...