ef44077cb7
Several tests are affected by the usage of fixation direction calculator in FIR. Restored to mimimize test data changes. It is unnecessary in FE10 because a type variable with unknown type is inferred into an error type, but affects test data in FIR where Nothing/Any is selected by direction (as a temporary measure). CR candidate in spec test is Unresolved in FIR because top-level CRs are resolved as call arguments. Resolution ambiguity is also present in FE10 when CR is wrapped into an id call.
25 lines
647 B
Kotlin
Vendored
25 lines
647 B
Kotlin
Vendored
// !LANGUAGE: +NewInference
|
|
// !DIAGNOSTICS: -UNUSED_PARAMETER
|
|
|
|
fun take(fn: () -> List<String>) {}
|
|
fun <L> inferFromLambda(fn: () -> L): L = TODO()
|
|
fun <L> inferFromLambda2(fn: (Int) -> L): L = TODO()
|
|
|
|
fun <T> materialize(): T = TODO()
|
|
fun <I> id(arg: I) = arg
|
|
|
|
fun testFunctions() {
|
|
take { materialize() }
|
|
take(fun() = materialize())
|
|
take(fun(): List<String> = materialize())
|
|
take(fun(): List<String> {
|
|
return materialize()
|
|
})
|
|
}
|
|
|
|
fun testNestedCalls() {
|
|
id<String>(inferFromLambda { materialize() })
|
|
id<String>(inferFromLambda(fun() = materialize()))
|
|
id<String>(inferFromLambda2(fun() = materialize()))
|
|
}
|