KT-1781 Can't distinguish between two constructors
#KT-1781 Fixed Now, if foo() and foo(vararg bar) both match the call site, the first one is preferred
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
fun foo(vararg <!UNUSED_PARAMETER!>t<!> : String) = ""
|
||||
fun foo(vararg <!UNUSED_PARAMETER!>t<!> : Int) = ""
|
||||
|
||||
fun test() {
|
||||
<!OVERLOAD_RESOLUTION_AMBIGUITY!>foo()<!>
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
fun foo0() : String = "noarg"
|
||||
|
||||
fun foo0(vararg <!UNUSED_PARAMETER!>t<!> : Int) : String = "vararg"
|
||||
|
||||
fun test0() {
|
||||
foo0()
|
||||
foo0(1)
|
||||
val a = IntArray(0)
|
||||
foo0(*a)
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
fun foo1(<!UNUSED_PARAMETER!>a<!> : Int) : String = "noarg"
|
||||
|
||||
fun foo1(<!UNUSED_PARAMETER!>a<!> : Int, vararg <!UNUSED_PARAMETER!>t<!> : Int) : String = "vararg"
|
||||
|
||||
fun test1() {
|
||||
foo1(1)
|
||||
val a = IntArray(0)
|
||||
foo1(1, *a)
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
// FILE: kotlin.kt
|
||||
fun foo() {
|
||||
JavaClass()
|
||||
JavaClass("")
|
||||
}
|
||||
|
||||
// FILE: JavaClass.java
|
||||
|
||||
public class JavaClass {
|
||||
public JavaClass() { }
|
||||
|
||||
public JavaClass(String... ss) { }
|
||||
}
|
||||
Reference in New Issue
Block a user