blob: ac3178a5c698148186802d9358e5b31ae6c9b17c [file]
// FILE: 1.kt
// Intentionally in the same package, as objects in other packages are always regenerated.
fun f(x: () -> String) = x()
inline fun g(crossinline x: () -> String) = f { x() }
// FILE: 2.kt
// _1Kt$g$1 not regenerated because the original already does the same thing (invoking a functional object)
// \-v
fun h(x: () -> String) = g { g(x) }
// /-^
// _1Kt$g$1 regenerated to inline the lambda
fun box() = h { "OK" }