First steps to make distinction between variables and descriptors in ConstraintSystem
A type variable is an entity, the value of which should be solved by the system; a descriptor is an actual TypeParameterDescriptor declaration
This commit is contained in:
@@ -138,7 +138,7 @@ class FuzzyType(
|
||||
if (otherSubstitutedType.isError) return null
|
||||
if (!substitutedType.checkInheritance(otherSubstitutedType)) return null
|
||||
|
||||
val substitution = constraintSystem.typeVariables.toMap({ it.typeConstructor }) {
|
||||
val substitution = constraintSystem.typeParameterDescriptors.toMap({ it.typeConstructor }) {
|
||||
val type = it.defaultType
|
||||
val solution = substitutor.substitute(type, Variance.INVARIANT)
|
||||
TypeProjectionImpl(if (solution != null && !ErrorUtils.containsUninferredParameter(solution)) solution else type)
|
||||
|
||||
Reference in New Issue
Block a user