// TARGET_BACKEND: JVM // FILE: I.java public interface I { public T create(); } // FILE: box.kt // A specific bytecode pattern here may confuse POP propagation. inline fun I.bar(default: T, crossinline baz: V.(T) -> T) = u@{ it: Any? -> create().baz(it as? T ?: return@u default) } fun box() = I { "O" }.bar("fail") { this + it }("K")