592baee852
This fixes a scenario when INVISIBLE_REFERENCE is suppressed, but we
resolved to the wrong overload because when none of the candidates were
applicable, more or less the first one was chosen.
Because we call `fullyProcessCandidate` on the candidates, their
applicability can change which can lead to a situation where the
applicability of a ConeAmbiguityError is different to all its
candidates. The changes in coneDiagnosticToFirDiagnostic.kt account for
that, otherwise code like candidates.first { it.applicability ==
CandidateApplicability.UNSAFE_CALL } can throw NoSuchElementException.
#KT-57776 Fixed
12 lines
222 B
Kotlin
Vendored
12 lines
222 B
Kotlin
Vendored
// MODULE: a
|
|
// FILE: a.kt
|
|
|
|
internal fun foo(s: String) = "FAIL"
|
|
internal fun foo(s: String, x: Any) = "OK"
|
|
|
|
// MODULE: b(a)
|
|
// FILE: box.kt
|
|
|
|
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
|
|
fun box() = foo("", Any())
|