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

欢迎!请参阅关于页面获取更多关于此工作的信息。

+4
ClojureScript

大家好,

我准备了一个补丁来修复不能使用超过20个参数调用IFn的问题。
apply_test.cljs中的相应测试用例几年前就被注释掉了。

这很可能会修复元函数、多态函数、spec函数以及所有的IFn实现。

这是我发现的相关票据:

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

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

"高阶arity .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访问权限',这就是为什么我在这里提问的原因。

希望这一切都能达成,因为我在此之前一直等着这个问题被修复。

David.

2 个答案

0

根据您旧的CA,我向您发送了一个jira邀请。如果您没有看到那个邀请或者您的邮箱已更改,请通过[email protected]联系我。

谢谢!
我在那里添加评论是否也有帮助;也许可以附上对这个页面的链接?
这样够了吗?
一旦您进入jira,最好在那里进行开发工作,您不需要在此更新。
0

您好,感谢您查看这个问题。提出的补丁仅解决了顶级fns的问题 - 正确的修复还需要对编译器fn代码生成进行更改,以涵盖匿名fn的情况。

...