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

欢迎!请参阅关于页面以获取更多关于如何使用此页面的信息。

0
Clojure

Clojure.spec 0.3.214 命名空间中的 clojure.spec.test.alpha 名称空间仍然使用 clojure 1.10.1 中的锁定宏进行 AOT 编译。

<clojure.version>1.10.1</clojure.version>

https://github.com/clojure/spec.alpha/blob/a924efab53b0465f7d2a589d4ae3c79a3826403b/pom.xml#L39

https://github.com/clojure/spec.alpha/blob/a924efab53b0465f7d2a589d4ae3c79a3826403b/src/main/clojure/clojure/spec/test/alpha.clj#L363

这个旧的锁定宏与 GraalVM 原生映像配合使用时可能会出现问题。见 CLJ-1472。

我认为如果您使用 clojure 1.10.3 来编译 clojure.spec,则可以继续使用锁定,并可以在此处删除旧的 locking2 修正方案。

https://github.com/clojure/spec.alpha/blob/a924efab53b0465f7d2a589d4ae3c79a3826403b/src/main/clojure/clojure/spec/gen/alpha.clj#L17

另一个解决方案是在 clojure.spec.test.alpha 中也使用 locking2 宏。

1 答案

0

已发布 spec.alpha 0.3.218

谢谢!<3 <3
by
我们能为此版本的spec获取clojure bump,以确保在下一个alpha版发布时不会被遗忘吗?
by
这可能要到下一个alpha版才能实现。
...