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

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

0
Clojure

这应该可以按预期工作,例如

{{(Integer. 1N)}}

可能是针对{{BigInt}}、{{BigInteger}}和{{BigDecimal}}。

方法是查看Rich在irc中提到的{{c.l.Reflector.paramArgTypeMatch}}。

11 答案

0

评论者:trptcolin

关于这对位左移的影响提出的Clojure-dev列表中的问题: http://groups.google.com/group/clojure-dev/browse_thread/thread/2191cbf0048d8ca6

0

评论者:ataggart

CLJ-445补丁也修复了这个问题。

0

评论者:trptcolin

这个补丁导致对BigInt执行位左移测试失败:(bit-shift-left 1N 10000)。原因是补丁更改了(BigInt, Long)的调度,从(Object, Object)变为(long, int)。

显然这不能应用(除非另一个更改使其成为可能),但我把它作为一个对话的开始。

0

评论者:ataggart

我来自邮件列表的评论

如果测试崩溃,可能意味着 Numbers.shiftLeft(long,int) 被选择了,而
给定了 1N 是一个对象(一个可以超过 long 大小的对象),
方法选择是不正确的,因此补丁是损坏的。
“简单地”修改 paramArgTypeMatch 的建议并不充分,


因为选择一个方法而非另一个方法的机制存在于编译器中,而且并不足够智能,

0

评论者:redinger

考虑将此从 Release.next 移出 - 征求 Chas 的评论。

0
_Comment made by: cemerick_

恐怕我对此处涉及的问题没有特别的见解。我最初遇到了一段时间前就注意到的这个问题,并且根据 Rich 的建议打开了工单。如果工单的文本误导了任何人,我感到很抱歉...
0

Comment made by: lvanderhart

由于已经决定位移动作仅限于 32/64 位值,与位移动作相关的问题就不再重要了。

尽管这是一个有效的问题,但按照 Rich 的指示已经降低优先级。

0

Comment made by: alexott

原补丁的修改版

0

Comment made by: jafingerhut

亚历克斯,你介意用唯一的文件名将其附加吗?我知道 JIRA 允许我们用相同的文件名创建多个附件,我知道我们可以通过日期和上传附件的人的账户来区分它们,但给它们相同的名称似乎只会引起混淆。

0
by

Comment made by: alexott

将更新补丁重命名为唯一名称

0
by
参考: https://clojure.atlassian.net/browse/CLJ-666 (由 cemerick 报告)
...