Files
kotlin-fork/compiler/testData/diagnostics/tests/inference/regressions/kt37043.kt
T

21 lines
523 B
Kotlin
Vendored

// FIR_IDENTICAL
// !LANGUAGE: +NewInference
// !DIAGNOSTICS: -UNUSED_EXPRESSION -UNUSED_PARAMETER -CAST_NEVER_SUCCEEDS -UNUSED_VARIABLE
// FILE: Test.java
class Test {
static Number[] flexibleNumbers() {
return null;
}
}
// FILE: main.kt
fun <T> foo(x: Array<out T>): T = x[0]
inline fun <reified T> materializeArray(): Array<T> = null as Array<T>
fun main() {
val y = foo(Test.flexibleNumbers() ?: materializeArray()) // Any? in NI, Number! in OI (T of `materializeArray` is inferred to Any?)
}