From 990fa046e6bbe95d5def208b38fead77d2437f9f Mon Sep 17 00:00:00 2001 From: Paul Phillips Date: Sat, 6 Aug 2011 19:34:49 +0000 Subject: Fixed bug in the disambiguation of f(foo='bar')... Fixed bug in the disambiguation of f(foo='bar') style method calls in the presence of overloading, parameterization, and by-name arguments. Took the opportunity to clean things up a little bit. Closes SI-4592, review by rytz. --- test/files/run/bug4592.check | 3 +++ test/files/run/bug4592.scala | 10 ++++++++++ 2 files changed, 13 insertions(+) create mode 100644 test/files/run/bug4592.check create mode 100644 test/files/run/bug4592.scala (limited to 'test') diff --git a/test/files/run/bug4592.check b/test/files/run/bug4592.check new file mode 100644 index 0000000000..e133386482 --- /dev/null +++ b/test/files/run/bug4592.check @@ -0,0 +1,3 @@ +3.14 +3.14 +3.14 diff --git a/test/files/run/bug4592.scala b/test/files/run/bug4592.scala new file mode 100644 index 0000000000..d1666d84d7 --- /dev/null +++ b/test/files/run/bug4592.scala @@ -0,0 +1,10 @@ +object Test { + def repeat[T](count: Int = 1, x: Boolean = true)(thunk: => T) : T = (0 until count).map(_ => thunk).last + def repeat[T](thunk: => T) : T = repeat()(thunk) + + def main(args: Array[String]): Unit = { + println(repeat(3.14)) + println(repeat(count=5)(3.14)) + println(repeat(count=5,x=false)(3.14)) + } +} -- cgit v1.2.3