NI: Analyze lambdas which are return arguments of another lambda

^KT-36044 Fixed
This commit is contained in:
Victor Petukhov
2020-03-11 18:55:55 +03:00
parent 426738b7d4
commit b1c4b5f51b
14 changed files with 156 additions and 30 deletions
@@ -0,0 +1,8 @@
Failures detected in FirBodyResolveTransformerAdapter, file: /kt36044.fir.kt
Cause: java.lang.RuntimeException: While resolving call R?C|/select|(Char(a), R?C|/map|(<L> = map@fun <anonymous>(): <ERROR TYPE REF: No type for block> {
^ map@fun <implicit>.<anonymous>(): <implicit> {
String()
}
}
))
@@ -0,0 +1,9 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// Issue: KT-36044
fun <A> select(x: A, f: () -> A) = f()
fun <B> map(f: () -> B) = f()
fun main() {
select('a', map { { "" } })
}
@@ -0,0 +1,9 @@
// !DIAGNOSTICS: -UNUSED_PARAMETER
// Issue: KT-36044
fun <A> select(x: A, f: () -> A) = f()
fun <B> map(f: () -> B) = f()
fun main() {
select('a', map { { "" } })
}
@@ -0,0 +1,5 @@
package
public fun main(): kotlin.Unit
public fun </*0*/ B> map(/*0*/ f: () -> B): B
public fun </*0*/ A> select(/*0*/ x: A, /*1*/ f: () -> A): A