aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/StdNames.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2016-11-30 14:34:17 +0100
committerMartin Odersky <odersky@gmail.com>2016-11-30 14:34:17 +0100
commitb94e6ea5a54d38470e5793c0084785e2d2f9a819 (patch)
tree6a3f4e83dbf66ad9a2353d4165f6321fede1dceb /compiler/src/dotty/tools/dotc/core/StdNames.scala
parent3116142d3e0e2d560b2fa79f73e699e1ac000204 (diff)
downloaddotty-b94e6ea5a54d38470e5793c0084785e2d2f9a819.tar.gz
dotty-b94e6ea5a54d38470e5793c0084785e2d2f9a819.tar.bz2
dotty-b94e6ea5a54d38470e5793c0084785e2d2f9a819.zip
Drop function 22 limit.
Functions with more than 22 parameters are now automatically converted to functions taking a single object array parameter. This has been achieved by tweaking erasure. Other things I have tried that did ot work out well: - Use a single function type in typer. The problem with this one which could not be circumvented was that existing higher-kinded code with e.g. Funcor assumes that Functon1 is a binary type constructor. - Have a late phase that converts to FunctonXXL instead of doing it in erasure. The problem with that one was that potentially every type could be affected, which was ill-suited to the architecture of a miniphase.
Diffstat (limited to 'compiler/src/dotty/tools/dotc/core/StdNames.scala')
-rw-r--r--compiler/src/dotty/tools/dotc/core/StdNames.scala1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/src/dotty/tools/dotc/core/StdNames.scala b/compiler/src/dotty/tools/dotc/core/StdNames.scala
index c2a14b36f..741ff8b1f 100644
--- a/compiler/src/dotty/tools/dotc/core/StdNames.scala
+++ b/compiler/src/dotty/tools/dotc/core/StdNames.scala
@@ -265,6 +265,7 @@ object StdNames {
val THIS: N = "_$this"
val TRAIT_CONSTRUCTOR: N = "$init$"
val U2EVT: N = "u2evt$"
+ val ALLARGS: N = "$allArgs"
final val Nil: N = "Nil"
final val Predef: N = "Predef"