2024 Clojure 状况调查中分享您的想法!

欢迎!请查看关于页面以了解更多关于如何运作的信息。

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


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 报告)
...