[NI] Map vararg to Array if it's resolved against type variable
While this behavior is questionable, it's consistent with OI and can be changed in future #KT-36201 Fixed
This commit is contained in:
Vendored
+17
@@ -0,0 +1,17 @@
|
||||
// !LANGUAGE: +NewInference
|
||||
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
||||
|
||||
fun foo(vararg ints: Int) {}
|
||||
fun test(i: IntArray) {
|
||||
myLet(i, ::foo)
|
||||
myLet(::foo)
|
||||
myLet<Int>(<!TYPE_MISMATCH!>::foo<!>)
|
||||
myLet<IntArray>(::foo)
|
||||
myLetExplicit1(::foo)
|
||||
myLetExplicit2(::foo)
|
||||
}
|
||||
|
||||
fun <T> myLet(t: T, block: (T) -> Unit) {}
|
||||
fun <T> myLet(block: (T) -> Unit) {}
|
||||
fun myLetExplicit1(block: (Int) -> Unit) {}
|
||||
fun myLetExplicit2(block: (IntArray) -> Unit) {}
|
||||
Reference in New Issue
Block a user