[FIR] Do not use strict type equality in override checker

This commit is contained in:
Mikhail Glukhikh
2020-01-29 13:52:07 +03:00
parent e43a57bdee
commit 53d50c935a
3 changed files with 3 additions and 3 deletions
@@ -31,7 +31,7 @@ class FirStandardOverrideChecker(session: FirSession) : FirAbstractOverrideCheck
val baseIsFlexible = substitutedBaseType.isFlexible()
val candidateIsFlexible = substitutedCandidateType.isFlexible()
if (baseIsFlexible == candidateIsFlexible) {
return strictEqualTypes(context, substitutedCandidateType, substitutedBaseType)
return AbstractTypeChecker.equalTypes(context, substitutedCandidateType, substitutedBaseType)
}
val lowerBound: SimpleTypeMarker
val upperBound: SimpleTypeMarker
@@ -17,5 +17,5 @@ interface B : A {
// FILE: main.kt
fun test(visitor: KtVisitor<String, Unit>, element: B) {
element.<!AMBIGUITY!>accept<!>(visitor, Unit)
element.accept(visitor, Unit)
}
@@ -5,5 +5,5 @@ FILE: B.kt
}
FILE: main.kt
public final fun test(visitor: R|KtVisitor<kotlin/String, kotlin/Unit>|, element: R|B|): R|kotlin/Unit| {
R|<local>/element|.<Ambiguity: accept, [/B.accept, /A.accept]>#(R|<local>/visitor|, Q|kotlin/Unit|)
R|<local>/element|.R|/B.accept|<R|kotlin/String|, R|kotlin/Unit|>(R|<local>/visitor|, Q|kotlin/Unit|)
}