欢迎!请参阅 关于 页面了解更多信息。
大家好,
我准备了一个补丁来修复不能使用超过 20 个参数调用 IFn 的问题。years ago
这很可能修复了元函数、多方法、规范函数以及所有 IFn 实现。
这是我发现的相关票据
"mulitmethod apply with >20 args fails" https://clojure.atlassian.net/browse/CLJS-3024
"with-meta doesn't work for variable arguments functions" https://clojure.atlassian.net/browse/CLJS-2446
"High-arity .apply on spec-instrumented function throws "Invalid arity" error" https://clojure.atlassian.net/browse/CLJS-2710
也许这也修复了/完成了这个 2012 年的问题
"compiler needs to put all args of an invocation after 20 into an 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 的访问权限',这就是为什么我在这里开始提问。
希望这能够通过,因为我基本在等这个问题被修复几年了。
David.
我根据您旧 CA 发送给您 jira 的邀请。如果您没有收到该邀请或您的电子邮件已更改,请通过 [email protected] 联系我。
你好,感谢你对此进行调查。提出的补丁仅解决了顶层fn的问题 - 正确的修复还需要对编译器fn代码生成进行更改,以涵盖匿名函数的情况。