欢迎!有关如何工作的更多信息,请参阅关于页面。
这应该像预期的那样工作,例如
{{(Integer. 1N)}}
可能是{{BigInt}}、{{BigInteger}}和{{BigDecimal}}
可查看的方法是{{c.l.Reflector.paramArgTypeMatch}},按照Rich在irc中的建议。
评论者:trptcolin
关于这如何影响位左移的clojure-dev列表上的问题:http://groups.google.com/group/clojure_dev/browse_thread/thread/2191cbf0048d8ca6
评论者:ataggart
CLJ-445补丁修复了这个问题。
此补丁在位移操作测试失败:`(位左移 1N 10000)`。原因在于补丁将`(BigInt, Long)`的派发从`(Object, Object)`更改为`(long, int)`。
(位左移 1N 10000)
显然,这不能直接应用(除非另一处改变使其成为可能),但我将其作为对话的开始。
来自邮件列表的我的评论
如果测试失败,可能意味着Numbers.shiftLeft(long,int)被选择而不是Numbers.shiftLeft(Object,Object)鉴于1N是一个Object(可以超过long类型的大小),选择方法是不正确的,因此补丁有问题。由于编译器没有足够的智能来做出这些决定,因此修改paramArgTypeMatch的“简单”建议是不够的。因此,补丁是破坏性的。
关于将其移出Release.next的建议,正在征求Chas的评论。
评论者:redinger
正在考虑将该内容移出Release.next,征求Chas的评论。
评论者:lvanderhart
关于位操作的这些问题没有意义,因为已经做出决定,位操作仅适用于32/64位值。
尽管仍然是一个有效的问题,但按照Rich的要求已经被降低优先级。
评论者:alexott
原始补丁的修改版本
评论由:jafingerhut 提出:
亚历克斯,你能用唯一的文件名将其附加吗?我知道 JIRA 允许我们创建具有相同文件名的多个附件,我知道我们可以通过日期和上传附件的人的账户来区分它们,但给它们相同的名字似乎只会引起混淆。
将更新后的补丁重命名为唯一名称