Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Drop function 22 limit #1758
Functions with more than 22 parameters are now automatically converted to functions taking
This has been achieved using two tricks:
Other things I have tried that did not work out well:
Review by @OlivierBlanvillain ?
Looks great! I've tried running the full test suite with
MaxImplementedFunctionArity = 3 which revealed are quite a few failing test cases, for instance:
def f0(f: (Int, Int, Int) => Int): (Int, Int) => Int = f(0, _, _)
I wonder if we could setup the infrastructure to re-run some tests with custom
MaxImplementedFunctionArity values, because expending these test cases by hand to arity 23 would be quite tedious...
I should have mentioned: Only the implemented function traits have tupled and curried methods. The synthetic ones lack them.