欢迎!有关如何使用本站的更多信息,请参阅 关于 页面。
嗨那里,
我准备了一个补丁以修复 IFn 无法调用超过 20 个参数的问题。apply_test.cljs 中的相应测试用例几年前就被注释掉了。
这很可能修复了元函数、多方法、规范函数以及所有 IFn 实现的部分。
以下是找到的对应票据
"多方法应用 > 20 参数失败" https://clojure.atlassian.net/browse/CLJS-3024
"with-meta 对于可变参数函数不起作用" https://clojure.atlassian.net/browse/CLJS-2446
"高阶 .apply 在 spec-instrumented 函数上抛出 "Invalid arity" 错误" https://clojure.atlassian.net/browse/CLJS-2710
也许这也修复/完成了2012年的这个故障
"编译器需要在调用20个参数之后将所有参数放入一个 array-seq 中" https://clojure.atlassian.net/browse/CLJS-364
这是补丁在这里;一个单独的小提交
https://github.com/active-group/clojurescript/commit/122e1ab4be7230841e15b392223d4b33560cfa5b
它还删除了一个多余的 'aclone' 调用(concat 已经执行浅层复制)。
我使用了 Nashorn 运行测试,以前被注释掉的那些测试现在成功了。
我于 2016 年签署了贡献协议,但之后在 JIRA 上注册,现在显示我没有 'clojure.atlassian.net 上 Jira 的访问权限',这就是为什么我首先在这里提问。
希望这一切都顺利进行,因为我基本上已经等了好几年了。
大卫。
根据您旧CA的信息,我向您发送了Jira邀请。如果看不到该邀请或您的邮箱已更改,请通过 [email protected] 联系我。
您好,感谢您关注这个问题。提议的补丁仅解决了顶层函数的问题 - 正确的修复还需要修改编译器的函数代码生成,以覆盖匿名函数的情况。