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投票
...