Remove uncapturing in type mismatch diagnostics

#KT-32587 Fixed
This commit is contained in:
Pavel Kirpichenkov
2019-09-16 15:10:05 +03:00
parent 5c904250be
commit f45a49b122
6 changed files with 72 additions and 5 deletions
@@ -0,0 +1,30 @@
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNUSED_PARAMETER
class X {
abstract class Y<T : Any>
fun <T : Any> foo(y: Y<T>, t: T) {
}
}
fun testStar(y: X.Y<*>, t: Any) {
X().foo(y, <!TYPE_MISMATCH("CapturedType(*)", "Any")!>t<!>)
}
fun testOut(y: X.Y<out Any>, t: Any) {
X().foo(y, <!TYPE_MISMATCH("CapturedType(out Any)", "Any")!>t<!>)
}
fun testIn(y: X.Y<in Any>, t: Any) {
X().foo(y, t)
}
fun <T : Any> testWithParameter(y: X.Y<T>, t: Any) {
X().foo(y, <!TYPE_MISMATCH("T", "Any")!>t<!>)
}
fun <T : Any> testWithCapturedParameter(y: X.Y<out T>, t: Any) {
X().foo(y, <!TYPE_MISMATCH("CapturedType(out T)", "Any")!>t<!>)
}