@Suppress("NOTHING_TO_INLINE") inline fun foo2(i2: T, j2: T, p2: (T, T) -> Boolean): Boolean { return p2(i2, j2) } @Suppress("NOTHING_TO_INLINE") inline fun foo1(i1: T, j1: T, p1: (T, T) -> Boolean): Boolean { return foo2(i1, j1, p1) } fun bar(): Boolean { val result = foo1 (3, 3) { x1: Int, x2: Int -> x1 == x2 } return result } fun main(args: Array) { println(bar().toString()) }