Files
kotlin-fork/compiler/fir/analysis-tests/testData/resolve/inference/lambdaInElvis.kt
T
Dmitriy Novozhilov 102c9c08d0 [FIR] Resolve elvis call as special synthetic call
Before that commit we desugared `a ?: b` as

when (val elvis = a) {
    null -> b
    else -> elvis
}

It was incorrect, because `a` should be resolved in dependent mode,
  but when it was `elvis` initializer it was resolved in independent
  mode, so we can't infer type for `a` in some complex cases
2020-07-02 15:10:51 +03:00

19 lines
364 B
Kotlin
Vendored

// ISSUE: KT-39012
interface A
fun <T> foo(f: (MutableList<T>) -> Unit): List<T>? = TODO()
fun <T> listOf(): List<T> = TODO()
fun bar1(w: List<CharSequence>): List<CharSequence>? {
return foo { container ->
container.add("")
} ?: w
}
fun bar2(): List<CharSequence>? {
return foo { container ->
container.add("")
} ?: listOf()
}