// FILE: 1.kt package test abstract class A { abstract fun getO() : R abstract fun getK() : R } inline fun doWork(job: ()-> R) : R { return job() } // FILE: 2.kt //NO_CHECK_LAMBDA_INLINING import test.* fun box() : String { val o = "O" val p = "GOOD" val result = doWork { val k = "K" val s = object : A() { val param = p; override fun getO(): String { return o; } override fun getK(): String { return k; } } s.getO() + s.getK() + s.param } if (result != "OKGOOD") return "fail $result" return "OK" }