blob: 36aacdd9ce967f6863f4a512124ca636ba7e5d33 [file]
// SKIP_IR_DESERIALIZATION_CHECKS
// LANGUAGE: +IrIntraModuleInlinerBeforeKlibSerialization -IrCrossModuleInlinerBeforeKlibSerialization
// DUMP_IR_AFTER_INLINE
// WITH_STDLIB
// MODULE: lib
// FILE: lib.kt
inline fun <T> foo(arg: T, block: (T) -> Unit) {
block(arg)
}
// MODULE: main(lib)
// FILE: main.kt
inline fun <T> inner(arg: T, block: (T) -> Unit) {
foo(arg, block)
}
inline fun <T> wrap(arg: T, block: (T) -> Unit) {
inner(arg, block)
}
fun box(): String {
var x = "fail"
wrap("OK") {
foo(it) {
x = it
}
}
return x
}