diff --git a/src/compiler/scala/tools/nsc/transform/UnCurry.scala b/src/compiler/scala/tools/nsc/transform/UnCurry.scala index 3544dc9966d9..19b2d4a66d2b 100644 --- a/src/compiler/scala/tools/nsc/transform/UnCurry.scala +++ b/src/compiler/scala/tools/nsc/transform/UnCurry.scala @@ -322,7 +322,7 @@ abstract class UnCurry extends InfoTransform args.take(formals.length - 1) :+ (suffix setType formals.last) } - val args1 = if (isVarArgTypes(formals)) transformVarargs(formals.last.typeArgs.head) else args + val args1 = if (isVarArgTypes(formals)) transformVarargs(formals.last.typeArgs.head.widen) else args map2(formals, args1) { (formal, arg) => if (!isByNameParamType(formal)) diff --git a/test/files/run/literal-type-varargs.flags b/test/files/run/literal-type-varargs.flags new file mode 100644 index 000000000000..48fd867160ba --- /dev/null +++ b/test/files/run/literal-type-varargs.flags @@ -0,0 +1 @@ +-Xexperimental diff --git a/test/files/run/literal-type-varargs.scala b/test/files/run/literal-type-varargs.scala new file mode 100644 index 000000000000..3b78af727dc1 --- /dev/null +++ b/test/files/run/literal-type-varargs.scala @@ -0,0 +1,4 @@ +object Test extends App { + val x = List.apply[1](1) + assert(x == List(1)) +}