// WITH_STDLIB fun interface MyRunnable { fun invoke() } class A { inline fun doWork(noinline job: () -> Unit) { MyRunnable(job).invoke() } fun doNoninlineWork(job: () -> Unit) { MyRunnable(job).invoke() } } fun box(): String { var result = false A().doWork { result = true } if (!result) return "Fail 1" result = false A().doNoninlineWork { result = true } if (!result) return "Fail 2" return "OK" }