Hacker News new | ask | show | jobs
by ryangreenberg 4835 days ago
The 22 overloaded versions of Future#join is a consequence of wanting to supporting all the possible method calls. It goes up to 22 because that is the limit to possible number of arguments in Scala. See, for example, the corresponding Function22 (https://github.com/scala/scala/blob/master/src/library/scala...) and Tuple22 case class (https://github.com/scala/scala/blob/master/src/library/scala...) from the Scala source.

You can't just use a catch-all argument like xs: Future* because you have to parameterize the types of the arguments.