// NO_CHECK_LAMBDA_INLINING
// FILE: 1.kt
package test

class A {
    val foo = fun(call: () -> Unit) =
        ext {
            fun send() {
                call()
            }

            bar {
                send()
            }
        }

    fun bar(body: () -> Unit) {
        body()
    }

    inline fun A.ext(init: X.() -> Unit) {
        return X().init()
    }

    class X
}

// FILE: 2.kt
import test.*

fun box(): String {
    var result = "fail"
    A().foo { result = "OK" }
    return result
}
