[NI] Don't discriminate Nothing-type from resulting ones
^KT-32106 Fixed
This commit is contained in:
committed by
Pavel Kirpichenkov
parent
a8e9a6a1d0
commit
ae1630f376
-9
@@ -23,15 +23,6 @@ class TrivialConstraintTypeInferenceOracle private constructor(context: TypeSyst
|
||||
return constraint.kind == ConstraintKind.LOWER && constraint.type.typeConstructor().isNothingConstructor()
|
||||
}
|
||||
|
||||
// This function controls the choice between sub and super result type
|
||||
// Even that Nothing(?) is the most specific type for subtype, it doesn't bring valuable information to the user,
|
||||
// therefore it is discriminated in favor of supertype
|
||||
fun isSuitableResultedType(
|
||||
resultType: KotlinTypeMarker
|
||||
): Boolean {
|
||||
return !resultType.typeConstructor().isNothingConstructor()
|
||||
}
|
||||
|
||||
// It's possible to generate Nothing-like constraints inside incorporation mechanism:
|
||||
// For instance, when two type variables are in subtyping relation `T <: K`, after incorporation
|
||||
// there will be constraint `approximation(out K) <: K` => `Nothing <: K`, which is innocent
|
||||
|
||||
Reference in New Issue
Block a user