Diagnostics test: array creation of non-reified TP

#KT-1370 Fixed
This commit is contained in:
Denis Zharkov
2014-11-20 12:19:55 +04:00
parent 428109e8c4
commit f7d1bc5931
3 changed files with 34 additions and 0 deletions
@@ -0,0 +1,18 @@
// !DIAGNOSTICS: -NOTHING_TO_INLINE
fun <T> fail1(): Array<T> = <!TYPE_PARAMETER_AS_REIFIED!>Array<!>(1) { null!! }
fun <T> ok1(block: () -> Array<T>): Array<T> = block()
inline fun <reified T> ok2(): Array<T> = Array(1) { null!! }
fun <T> fail2(): Array<T> = ok1 { <!TYPE_PARAMETER_AS_REIFIED!>Array<!><T>(1) { null!! } }
fun <T> ok3(block: () -> Array<T>): Array<T> = ok1 { block() }
inline fun <reified T> ok4(): Array<T> = ok1 { Array<T>(1) { null!! } }
fun <T> fail3(block: () -> T): Pair<Array<T>, Array<T>> = Pair(<!TYPE_PARAMETER_AS_REIFIED!>array<!>(
block()), <!TYPE_PARAMETER_AS_REIFIED!>array<!>()
)
inline fun <reified T> ok5(block: () -> T): Pair<Array<T>, Array<T>> = Pair(
array(block()), array()
)