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
@@ -32,7 +32,7 @@ fun main() {
checkSubtype<Outer<*>.Inner<*>>(outer.Inner<Int>())
checkSubtype<Outer<CharSequence>.Inner<CharSequence>>(<!TYPE_MISMATCH!>outer.bar()<!>)
checkSubtype<Outer<CharSequence>.Inner<CharSequence>>(<!TYPE_MISMATCH{NI}!>outer.<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH{OI}!>Inner()<!><!>)
checkSubtype<Outer<CharSequence>.Inner<CharSequence>>(<!TYPE_MISMATCH{NI}, TYPE_MISMATCH!>outer.<!TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH{OI}!>Inner()<!><!>)
outer.set(outer.bar())
outer.set(outer.Inner())