[NI] Report unsafe implicit invoke accordingly to OI

There are several issues with unsafe desugaring for convention calls.
Proper fix is not implemented here (see design proposal KT-30872).
This commit only applies the old logic in the new inference.
^KT-30695 Fixed
This commit is contained in:
Pavel Kirpichenkov
2020-02-07 18:14:12 +03:00
parent 9d51180202
commit b045adf83a
30 changed files with 286 additions and 62 deletions
@@ -0,0 +1,18 @@
class A {
val lambda: () -> Unit = TODO()
val memberInvoke: B = TODO()
val extensionInvoke: C = TODO()
}
class B {
operator fun invoke() {}
}
class C
operator fun C.invoke() {}
fun test(a: A?) {
a?.<!UNSAFE_IMPLICIT_INVOKE_CALL!>lambda<!>()
a?.<!UNSAFE_IMPLICIT_INVOKE_CALL!>memberInvoke<!>()
a?.extensionInvoke()
}