diff options
author | Paul Phillips <paulp@improving.org> | 2012-03-30 11:42:40 -0700 |
---|---|---|
committer | Paul Phillips <paulp@improving.org> | 2012-03-30 11:43:24 -0700 |
commit | 75e584bd0c056a39ea6ef52848e8c2cbe764cb3a (patch) | |
tree | 36946236c7d36217e2e6f124260c53eddba171a3 /src | |
parent | 0fae7b9064e44b3ee8041a5e5a19e85abfb32e0c (diff) | |
download | scala-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.scala | 4 |
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 } |