blob: f68f06ceb29867ac2214b736195fd80eef53ed3a [file] [log] [blame]
// MODULE: lib
// FILE: lib.kt
package utils
inline public fun <T> composition(x0: T, x1: T, x2: T, fn: (T, T) -> T): T = fn(fn(x0, x1), x2)
// MODULE: main(lib)
// FILE: main.kt
import utils.*
public fun nonInlinableConcat(x: String, y: String): String = "$x$y"
inline fun appendTo(target: String, suffix: String): String = nonInlinableConcat(target, suffix)
// CHECK_CONTAINS_NO_CALLS: test except=nonInlinableConcat
internal fun test(x: String): String = composition("", "O", "K", ::appendTo)
fun box(): String {
return test("O")
}