[FIR] Relax incompatibleEnumComparisonWithTypeParameters

This commit is contained in:
Nikolay Lunyak
2023-10-18 17:55:01 +03:00
committed by Space Team
parent ae521524d6
commit 3058f2eaff
2 changed files with 2 additions and 2 deletions
@@ -53,7 +53,7 @@ object FirEqualityCompatibilityChecker : FirEqualityOperatorCallChecker() {
// sees a non-empty intersection and none of the
// types is an enum, but intersections in K1
// work differently from intersections in K2.
val isCaseMissedByK1 = it != Applicability.INAPPLICABLE_AS_ENUMS
val isCaseMissedByK1 = (l.originalTypeInfo.isEnumClass == r.originalTypeInfo.isEnumClass)
&& l.originalTypeInfo.isLiterallyTypeParameter
&& r.originalTypeInfo.isLiterallyTypeParameter
val replicateK1Behavior = !context.languageVersionSettings.supportsFeature(LanguageFeature.ReportErrorsForComparisonOperators)
@@ -100,7 +100,7 @@ fun incompatibleIdentityRegardlessNullabilityWithValueClassesSmartCast(c: Any?,
enum class F
fun <T: E, K: F> incompatibleEnumComparisonWithTypeParameters(e: T, f: K) {
<!INCOMPATIBLE_ENUM_COMPARISON_ERROR!>e == f<!>
<!INCOMPATIBLE_ENUM_COMPARISON!>e == f<!>
}
interface A