| // NO_CHECK_LAMBDA_INLINING | |
| // FILE: 1.kt | |
| inline fun calc(s: (Int) -> Int, noinline p: (Int) -> Int) : Int { | |
| val z = p | |
| return s(11) + z(11) + p(11) | |
| } | |
| inline fun extensionLambda(noinline bar: Int.() -> Int) = 10.bar() | |
| // FILE: 2.kt | |
| fun test1(): Int { | |
| return calc( { l: Int -> 2*l}, { l: Int -> 4*l}) | |
| } | |
| fun test2(): Int { | |
| return extensionLambda({this * 16}) | |
| } | |
| fun box(): String { | |
| if (test1() != 110) return "test1: ${test1()}" | |
| if (test2() != 160) return "test2: ${test2()}" | |
| return "OK" | |
| } |