Report warning on generic type as argument for reified parameter

#KT-6484 Fixed
This commit is contained in:
Denis Zharkov
2016-01-19 10:31:26 +03:00
parent ae6c62ddff
commit 751f66c656
8 changed files with 44 additions and 1 deletions
@@ -0,0 +1,24 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
inline fun <reified T> foo() {}
inline fun <reified F> bar() {
foo<<!REIFIED_TYPE_UNSAFE_SUBSTITUTION!>Array<F><!>>()
foo<<!REIFIED_TYPE_UNSAFE_SUBSTITUTION!>List<F><!>>()
}
inline fun <reified E> baz(x: E) {}
fun test(x: Array<String>, y: Array<*>) {
foo<<!REIFIED_TYPE_UNSAFE_SUBSTITUTION!>List<String><!>>()
foo<List<*>>()
foo<<!REIFIED_TYPE_UNSAFE_SUBSTITUTION!>Map<*, String><!>>()
foo<Map<*, *>>()
foo<<!REIFIED_TYPE_UNSAFE_SUBSTITUTION!>Array<String><!>>()
foo<Array<*>>()
<!REIFIED_TYPE_UNSAFE_SUBSTITUTION!>baz<!>(x)
baz(y)
}
@@ -0,0 +1,6 @@
package
public inline fun </*0*/ reified F> bar(): kotlin.Unit
public inline fun </*0*/ reified E> baz(/*0*/ x: E): kotlin.Unit
public inline fun </*0*/ reified T> foo(): kotlin.Unit
public fun test(/*0*/ x: kotlin.Array<kotlin.String>, /*1*/ y: kotlin.Array<*>): kotlin.Unit
@@ -1,6 +1,6 @@
// !CHECK_TYPE
fun test() {
val array = arrayOf(arrayOf(1))
val array = <!REIFIED_TYPE_UNSAFE_SUBSTITUTION!>arrayOf<!>(arrayOf(1))
array checkType { _<Array<Array<Int>>>() }
}