From b94e6ea5a54d38470e5793c0084785e2d2f9a819 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Wed, 30 Nov 2016 14:34:17 +0100 Subject: 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. --- tests/pos/lazyValsSepComp.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'tests/pos/lazyValsSepComp.scala') diff --git a/tests/pos/lazyValsSepComp.scala b/tests/pos/lazyValsSepComp.scala index 1a7e37020..048231eb0 100644 --- a/tests/pos/lazyValsSepComp.scala +++ b/tests/pos/lazyValsSepComp.scala @@ -12,5 +12,5 @@ import dotty.tools.dotc.core.Contexts._ object Foo { val definitions: Definitions = null def defn = definitions - def go = defn.FunctionType(0) + def go = defn.FunctionClassPerRun } -- cgit v1.2.3