Don't stop constraints processing if all type variables have proper equality constraints

Those type variable may have other constraints after incorporation into which, the constraint error may appear

^KT-42042 Fixed
This commit is contained in:
Victor Petukhov
2021-03-03 16:34:00 +03:00
parent 7f7bb70596
commit b87c2a15b5
13 changed files with 61 additions and 19 deletions
+2 -2
View File
@@ -7,12 +7,12 @@ package boundsWithSubstitutors
class C : A<C>()
val a = B<C>()
val a1 = B<<!UPPER_BOUND_VIOLATED!>Int<!>>()
val a1 = B<<!UPPER_BOUND_VIOLATED, UPPER_BOUND_VIOLATED!>Int<!>>()
class X<A, B : A>()
val b = X<Any, X<A<C>, C>>()
val b0 = X<Any, <!UPPER_BOUND_VIOLATED!>Any?<!>>()
val b0 = X<Any, <!UPPER_BOUND_VIOLATED, UPPER_BOUND_VIOLATED!>Any?<!>>()
val b1 = X<Any, X<A<C>, <!UPPER_BOUND_VIOLATED!>String<!>>>()
// FILE: b.kt