JVM_IR: Do not unbox Result parameter in invoke if there is a bridge

since the bridge unboxes it.

 #KT-44141 Fixed
This commit is contained in:
Ilmir Usmanov
2021-01-20 09:09:42 +01:00
parent 0ddb603eaa
commit d48f92775b
10 changed files with 67 additions and 1 deletions
+14
View File
@@ -0,0 +1,14 @@
// WITH_RUNTIME
// KJS_FULL_RUNTIME
fun <T : Result<*>> isSuccess(a: A<T>): String =
a.go {
it.isSuccess
}
class A<T> {
fun go(f: (T) -> Boolean): String =
if (f(Result.success(1) as T)) "OK" else "Fail"
}
fun box(): String = isSuccess(A<Result<Int>>())