summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2012-03-30 11:42:40 -0700
committerPaul Phillips <paulp@improving.org>2012-03-30 11:43:24 -0700
commit75e584bd0c056a39ea6ef52848e8c2cbe764cb3a (patch)
tree36946236c7d36217e2e6f124260c53eddba171a3 /src
parent0fae7b9064e44b3ee8041a5e5a19e85abfb32e0c (diff)
downloadscala-75e584bd0c056a39ea6ef52848e8c2cbe764cb3a.tar.gz
scala-75e584bd0c056a39ea6ef52848e8c2cbe764cb3a.tar.bz2
scala-75e584bd0c056a39ea6ef52848e8c2cbe764cb3a.zip
Fix for regression with inference at arity 21+.
A classic "off by two" error. Closes SI-4545, SI-5633.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/reflect/internal/Definitions.scala4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/compiler/scala/reflect/internal/Definitions.scala b/src/compiler/scala/reflect/internal/Definitions.scala
index a2dd6fc4c3..09c2228b01 100644
--- a/src/compiler/scala/reflect/internal/Definitions.scala
+++ b/src/compiler/scala/reflect/internal/Definitions.scala
@@ -601,8 +601,8 @@ trait Definitions extends reflect.api.StandardDefinitions {
def isFunctionType(tp: Type): Boolean = tp.normalize match {
case TypeRef(_, sym, args) if args.nonEmpty =>
- val len = args.length
- len < MaxFunctionArity && sym == FunctionClass(len - 1)
+ val arity = args.length - 1 // -1 is the return type
+ arity <= MaxFunctionArity && sym == FunctionClass(arity)
case _ =>
false
}