Skip to content
Permalink
Browse files

Fix SI-2488

  • Loading branch information
lrytz committed May 18, 2012
1 parent ef77088 commit da994bc9ce2cd9394ccb994fad677a6c67ad2759
@@ -617,7 +617,8 @@ trait Infer {
} else if (argPos.contains(pos)) { // parameter specified twice
namesOK = false
} else {
positionalAllowed = false
if (index != pos)
positionalAllowed = false
argPos(index) = pos
}
index += 1
@@ -0,0 +1,31 @@
t2488.scala:7: error: overloaded method value f with alternatives:
()Int <and>
(a: Int,b: Int)Int
cannot be applied to (b: Int, Int)
println(c.f(b = 2, 2))
^
t2488.scala:8: error: overloaded method value f with alternatives:
()Int <and>
(a: Int,b: Int)Int
cannot be applied to (a: Int, c: Int)
println(c.f(a = 2, c = 2))
^
t2488.scala:9: error: overloaded method value f with alternatives:
()Int <and>
(a: Int,b: Int)Int
cannot be applied to (Int, c: Int)
println(c.f(2, c = 2))
^
t2488.scala:10: error: overloaded method value f with alternatives:
()Int <and>
(a: Int,b: Int)Int
cannot be applied to (c: Int, Int)
println(c.f(c = 2, 2))
^
t2488.scala:11: error: overloaded method value f with alternatives:
()Int <and>
(a: Int,b: Int)Int
cannot be applied to (Int)
println(c.f(2))
^
5 errors found
@@ -0,0 +1,12 @@
class C {
def f(a:Int, b:Int) = 1
def f() = 2
}
object Test extends App {
val c = new C()
println(c.f(b = 2, 2))
println(c.f(a = 2, c = 2))
println(c.f(2, c = 2))
println(c.f(c = 2, 2))
println(c.f(2))
}
@@ -0,0 +1,4 @@
1
1
1
2
@@ -0,0 +1,11 @@
class C {
def f(a:Int, b:Int) = 1
def f() = 2
}
object Test extends App {
val c = new C()
println(c.f(a = 1,2))
println(c.f(a = 1, b = 2))
println(c.f(b = 2, a = 1))
println(c.f())
}

0 comments on commit da994bc

Please sign in to comment.
You can’t perform that action at this time.