Welcome! Please see the About page for a little more info on how this works.

0 votes
in ClojureScript by

Regular fns (which are just JavaScript fns) have no such limit. For IFn implementors we should not allow arities above 21 args, and we should transform the 21st arity into a var args signature.

3 Answers

0 votes
by

Comment made by: justiniac

{quote}we should transform the 21st arity into a var args signature{quote}
Unless misunderstanding, can't do that. Var args sigs aren't allowed in protocols.

{quote}we should not allow arities above 21 args{quote}
Emitting an analyzer warning is what you want?

0 votes
by

Comment made by: darwin

I believe I hit this problem in my code using core.async(link: 1).

If it is not possible to implement ATM, I would kindly ask for a compiler warning at least. This thing manifested as a infinite recursive loop ending up in a cryptic stack overflow.

(link: 1) https://github.com/binaryage/dirac/commit/cce56470975a287c0164e6f79cd525d6ed27a543

0 votes
by
Reference: https://clojure.atlassian.net/browse/CLJS-1447 (reported by dnolen)
...