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

欢迎!请参阅关于页面以获取更多关于这个工作方式的详细信息。

+4
ClojureScript

嗨,大家好,

我准备了一个补丁来修复IFn无法使用超过20个参数进行调用的这个问题。
在apply_test.cljs中的相应测试用例几年前已经被注释掉了。

这很可能是修复了meta函数、多方法、spec函数以及所有IFn实现的bug。

以下是我找到的相关票据

"多方法apply使用超过20个参数失败"
https://clojure.atlassian.net/browse/CLJS-3024

"with-meta对变量参数函数不起作用"
https://clojure.atlassian.net/browse/CLJS-2446

"指定函数上的高参数arity.apply抛出'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访问权限',因此我在这里开始提问。

希望这能通过,因为我在等这个问题被修复已经等了多年了。

大卫。

2 个答案

0

根据您之前的安全证书,我向您发送了Jira的邀请。如果您未收到此邀请或您的邮箱已更改,请通过[email protected]联系我。

谢谢!
我在那里添加评论是否会有帮助;或许可以加上指向此页面的链接?
这够了吗?
一旦您进入Jira,建议在那儿进行开发工作,您无需在此处更新。
0

你好,感谢您对此事的关注。所提出的补丁仅解决了顶级函数的问题 - 正确的修复还需要对编译器函数代码生成进行更改,以涵盖匿名函数的情况。

...