// NO_CHECK_LAMBDA_INLINING // FILE: 1.kt package test interface Foo { fun compute(): Int } inline fun foo(x: Int, block: (Int) -> Foo) = block(x) // FILE: 2.kt import test.* fun bar(): Int { return foo(21) { x -> val o = object : Foo { override fun compute(): Int { return call { x * 2 } } private fun call(f: () -> Int) = f() } o }.compute() } fun box() = if (bar() == 42) "OK" else "fail"