import kotlin.test.assertEquals fun foo(block: () -> String) = block() inline fun bar1(): String = foo() { javaClass().getName() } inline fun bar2(y: String): String = foo() { javaClass().getName() + "#" + y } inline fun bar3(y: String) = Pair(bar1(), bar2(y)) fun box(): String { val x = bar3("OK") assertEquals("java.lang.Integer", x.first) assertEquals("java.lang.String#OK", x.second) return "OK" }