Fix supertypes calculation for types with projections

Use captured types as replacement for non top-level entries

 #KT-7296 Fixed
This commit is contained in:
Denis Zharkov
2015-12-23 12:59:42 +03:00
parent 397d2ca312
commit 722a152a74
11 changed files with 139 additions and 7 deletions
@@ -4,7 +4,11 @@ interface A<T>
interface B<T> : A<A<T>>
fun foo(x : B<*>) {
bar(x) // this should not be valid
bar1(<!TYPE_MISMATCH!>x<!>) // this should not be valid
bar2(x)
bar3(x)
}
fun bar(x : A<A<*>>) { }
fun bar1(x : A<A<*>>) { }
fun bar2(x : A<out A<*>>) { }
fun bar3(x : A<*>) { }