diff options
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/UnCurry.scala | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/UnCurry.scala b/src/compiler/scala/tools/nsc/transform/UnCurry.scala index aa3086c05b..bbb457b12e 100644 --- a/src/compiler/scala/tools/nsc/transform/UnCurry.scala +++ b/src/compiler/scala/tools/nsc/transform/UnCurry.scala @@ -434,10 +434,12 @@ abstract class UnCurry extends InfoTransform with TypingTransformers with ast.Tr else if (tree.tpe.typeSymbol isSubClass TraversableClass) tree // @PP: I suspect this should be SeqClass else arrayToSequence(tree, varargsElemType) - } else { - val tree = mkArrayValue(args drop (formals.length - 1), varargsElemType) - if (isJava || inPattern) tree - else arrayToSequence(tree, varargsElemType) + } + else { + def mkArray = mkArrayValue(args drop (formals.length - 1), varargsElemType) + if (isJava || inPattern) mkArray + else if (args.isEmpty) gen.mkNil // avoid needlessly double-wrapping an empty argument list + else arrayToSequence(mkArray, varargsElemType) } atPhase(phase.next) { |