[FIR] Keep all failed resolution candidates and fully resolve them
Previously, when a candidate was found with an applicability that is better than the current best applicability, all previous candidates were thrown away. Now we keep them, unless the new applicability is successful. If no successful candidates are found, we fully resolve all the unsuccessful ones and select the ones with the least bad applicability. This improves diagnostics for unresolved calls. #KT-57844 Fixed
This commit is contained in:
committed by
Space Team
parent
451daaa7c5
commit
b2fa104081
@@ -0,0 +1,17 @@
|
||||
// ISSUE: KT-58421
|
||||
// TARGET_BACKEND: JVM
|
||||
|
||||
// MODULE: lib
|
||||
// FILE: ContinuationImpl.kt
|
||||
|
||||
internal abstract class ContinuationImpl() {
|
||||
constructor(arg: Int) : this()
|
||||
}
|
||||
|
||||
// MODULE: main(lib)
|
||||
// FILE: box.kt
|
||||
|
||||
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE", "NONE_APPLICABLE")
|
||||
internal class SafeCollector: ContinuationImpl()
|
||||
|
||||
fun box() = "OK"
|
||||
Reference in New Issue
Block a user