// FILE: 1.kt package test public class Z(public val value: Int = 0) { inline public fun run(p1: String? = null): String? { return p1 + value } inline public fun run(p1: String = "", lambda: (a: String, b: Int) -> String, p2: Int = 0): String { return lambda(p1, p2) } } // FILE: 2.kt import test.* fun box(): String { if (Z().run() != "null0") return "fail 1: ${Z().run()}" if (Z().run("OK") != "OK0") return "fail 2" if (Z().run("OK", { a, b -> a + b }, 1) != "OK1") return "fail 3" if (Z().run(lambda = { a: String, b: Int -> a + b }) != "0") return "fail 4" return "OK" }