[K2] Disappeared ITERATOR_MISSING

^KT-59986
This commit is contained in:
Anastasia.Nekrasova
2023-10-20 20:35:19 +03:00
committed by Space Team
parent f98451e381
commit 9acae3b0df
3 changed files with 6 additions and 12 deletions
@@ -32,10 +32,7 @@ import org.jetbrains.kotlin.fir.expressions.FirWhileLoop
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.references.isError
import org.jetbrains.kotlin.fir.resolve.calls.UnsafeCall
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeAmbiguityError
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeInapplicableCandidateError
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeInapplicableWrongReceiver
import org.jetbrains.kotlin.fir.resolve.diagnostics.ConeUnresolvedNameError
import org.jetbrains.kotlin.fir.resolve.diagnostics.*
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirNamedFunctionSymbol
import org.jetbrains.kotlin.resolve.calls.tower.isSuccess
@@ -127,6 +124,10 @@ object FirForLoopChecker : FirBlockChecker() {
error("ConeInapplicableWrongReceiver, but no diagnostic reported")
}
}
is ConeConstraintSystemHasContradiction -> {
if (calleeReference.name == OperatorNameConventions.ITERATOR)
reporter.reportOn(reportSource, missingFactory, context)
}
is ConeInapplicableCandidateError -> {
if (unsafeCallFactory != null || noneApplicableFactory != null) {
diagnostic.candidate.diagnostics.filter { it.applicability == diagnostic.applicability }.forEach {
@@ -1,8 +0,0 @@
class X
operator fun <T> X.iterator(): Iterable<T> = TODO()
fun test() {
for (i in X()) {
}
}
@@ -1,3 +1,4 @@
// FIR_IDENTICAL
class X
operator fun <T> X.iterator(): Iterable<T> = TODO()