[NI] Disable SAM-conversions for Kotlin functions by default

#KT-30661 Fixed
This commit is contained in:
Mikhail Zarechenskiy
2019-04-12 16:19:39 +03:00
parent c6f29cbf38
commit 705a8a2234
11 changed files with 76 additions and 20 deletions
@@ -0,0 +1,31 @@
// !LANGUAGE: +NewInference
// FILE: Runnable.java
public interface Runnable {
void run();
}
// FILE: 1.kt
interface K {
fun foo1(r: Runnable)
fun foo2(r1: Runnable, r2: Runnable)
fun foo3(r1: Runnable, r2: Runnable, r3: Runnable)
}
fun test(k: K, r: Runnable) {
k.foo1(r)
k.foo1(<!TYPE_MISMATCH!>{}<!>)
k.foo2(r, r)
k.foo2(<!TYPE_MISMATCH!>{}<!>, <!TYPE_MISMATCH!>{}<!>)
k.foo2(r, <!TYPE_MISMATCH!>{}<!>)
k.foo2(<!TYPE_MISMATCH!>{}<!>, r)
k.foo3(r, r, r)
k.foo3(r, r, <!TYPE_MISMATCH!>{}<!>)
k.foo3(r, <!TYPE_MISMATCH!>{}<!>, r)
k.foo3(r, <!TYPE_MISMATCH!>{}<!>, <!TYPE_MISMATCH!>{}<!>)
k.foo3(<!TYPE_MISMATCH!>{}<!>, r, r)
k.foo3(<!TYPE_MISMATCH!>{}<!>, r, <!TYPE_MISMATCH!>{}<!>)
k.foo3(<!TYPE_MISMATCH!>{}<!>, <!TYPE_MISMATCH!>{}<!>, r)
k.foo3(<!TYPE_MISMATCH!>{}<!>, <!TYPE_MISMATCH!>{}<!>, <!TYPE_MISMATCH!>{}<!>)
}