// !LANGUAGE: +InlineClasses // FILE: dependency.kt inline class InlinedInt(val internal: Int) inline class InlinedString(val internal: String) inline fun foo(callback: () -> T): T { return callback() } inline fun bar(callback: () -> InlinedInt): InlinedInt { return callback() } inline fun baz(callback: () -> InlinedString): InlinedString { return callback() } // FILE: test.kt fun test(i: InlinedInt, s: InlinedString) { foo { i } bar { i } foo { s } baz { s } } // @TestKt.class: // 0 valueOf // 0 INVOKESTATIC InlinedInt\$Erased.box // 0 INVOKEVIRTUAL InlinedInt.unbox // 0 INVOKESTATIC InlinedString\$Erased.box // 0 INVOKEVIRTUAL InlinedString.unbox