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

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

0
核心.rrb-vector

我在 JDK 11 EA 版本上尝试测试 boot,在依赖链中似乎出现了 fipp,其依赖项为 core.rrb-vector 0.0.11。它使用以下错误失败

 java.lang.IllegalArgumentException: Must hint overloaded method: toArray

clojure.lang.Compiler$CompilerException: java.lang.IllegalArgumentException: 必须提示重载方法:toArray,编译:(clojure/core/rrb_vector/rrbt.clj:282:1)

         clojure.lang.ExceptionInfo: java.lang.IllegalArgumentException: Must hint overloaded method: toArray, compiling:(clojure/core/rrb_vector/rrbt.clj:282:1)

参考 Travis 构建:https://travis-ci.org/tirkarthi/boot/jobs/398611988#L803

这之前是可以通过的,但现在却失败了。如果它在 master 中已修复且尚未发布,请随意关闭此问题。

成功构建:https://travis-ci.org/tirkarthi/boot/jobs/398610834

9 个回答

0

评论由:wcohen 提供

此补丁在 toArray 的 arr 参数上添加了类型提示,这使得在 JDK 11 EA 21 上编译和测试成功。同时也适用于 JDK 8 和 10。

0

评论由:michalmarczyk 提供

谢谢!已应用并推送。将很快发布新版本。

0

评论由:wcohen 提供

谢谢!今天早上,我只签署/提交了 Clojure CA。如果有任何其他人我需要跟进,请告知。

0
答者:
_评论者:jafingerhut_

为了将来参考,以防其他人对这一点感兴趣,这个错误在JDK 10及之前没有发生,因为接口java.util.Collection中名为"toArray"的唯一一个参数方法是这样的:https://download.java.net/java/early_access/jdk11/docs/api/java.base/java/util/Collection.html#toArray(T%5B%5D),签名是"<T> T[] toArray(T[] a)"

从JDK 11开始,java.util.Collection接口中增加了另一个名为"toArray"的一个参数方法:https://download.java.net/java/early_access/jdk11/docs/api/java.base/java/util/Collection.html#toArray(java.util.function.IntFunction),签名是"default <T> T[] toArray(IntFunction<T[]> generator)"

因此,没有类型提示,Clojure编译器无法确定在尝试使用一个参数定义toArray的deftype形式中所使用的方法。
0
答者:

评论者:xtreak

感谢 @jafingerhut 提供信息。相关提交: http://hg.openjdk.java.net/jdk/jdk11/rev/3ef0862bbb3d 。这也可能影响Clojure的master分支,Will Cohen的补丁帮助测试通过。我在那里开启了一个相关的问题: https://dev.clojure.org/jira/browse/CLJ-2374

0
答者:

评论者:kanwei

有没有可能rrb-vector会推出新版本?因为JDK 11现在处于RC阶段,而且这个问题已经在master上被修复。谢谢!

0
答者:

评论者:gshayban

似乎这已经在最新版本中修复,我认为这个工单可以关闭。

0
答者:

评论者:[email protected]

这项更改合并到了https://github.com/clojure/core.rrb-vector/commit/b489b3249d56bb6a104c2d4ead2da8ade8dd29b4,并在版本 0.0.12 及更高版本中可用(截至编写时间为最新版本 0.0.13)。为了方便复制粘贴

[org.clojure/core.rrb-vector "0.0.13"]

0
参考: https://clojure.atlassian.net/browse/CRRBV-18(由 xtreak 报告)
...