[FIR] Prevent loosing errors for synthetic outer calls

The error occurs when completing the
call for the outer synthetic call
`ACCEPT_SPECIFIC_TYPE`. The error
is saved into the CS of this outer
candidate, which leads to its
callable reference to be an error
reference, but since such calls are
not parts of the FIR tree, we never
collect such errors.

^Fixed KT-59233
This commit is contained in:
Nikolay Lunyak
2023-07-07 11:59:04 +03:00
committed by Space Team
parent 79fce56c95
commit d13e60aaec
9 changed files with 30 additions and 21 deletions
@@ -11,7 +11,7 @@ class A1 {
class A2 {
fun <K, V> a2(key: K): V = TODO()
fun test1(): (String) -> Unit = A2()::a2
fun test1(): (String) -> Unit = A2()::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>a2<!>
fun <T3> test2(): (T3) -> T3 = A2()::a2
}
@@ -19,7 +19,7 @@ class A3<T> {
fun <V> a3(key: T): V = TODO()
fun test1(): (T) -> Int = this::a3
fun test2(): (T) -> Unit = A3<T>()::a3
fun test2(): (T) -> Unit = A3<T>()::<!NEW_INFERENCE_NO_INFORMATION_FOR_PARAMETER!>a3<!>
fun test3(): (Int) -> String = A3<Int>()::a3
fun <R> test4(): (R) -> Unit = this::<!UNRESOLVED_REFERENCE!>a3<!>