Files
kotlin-fork/compiler/testData/diagnostics/tests/resolve/specialConstructions/inferenceForElvis.kt
T
Svetlana Isakova 06e90cf6a1 Annotated the return type of 'elvis' function with @Exact
fun <T> ELVIS(T?, T): @Exact T
2015-10-22 21:55:12 +03:00

8 lines
383 B
Kotlin
Vendored

// !DIAGNOSTICS: -UNUSED_PARAMETER -UNUSED_VARIABLE
// !CHECK_TYPE
fun <T: Any> foo(f: (T) -> Unit): T? = null // T is used only as return type
fun test() {
val x = foo { it checkType { _<String>() }} ?: "" // foo() is inferred as foo<String>, which isn't very good
val y: Any = foo { it checkType { _<Any>() } } ?: "" // but for now it's fixed by specifying expected type
}