JVM_IR: Do not unbox Result argument inside SAM adapters
#KT-45259 Fixed
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
// WITH_RUNTIME
|
||||
// KJS_WITH_FULL_RUNTIME
|
||||
|
||||
inline class Result<T>(val isSuccess: Boolean)
|
||||
|
||||
fun interface ResultHandler<T> {
|
||||
fun onResult(result: Result<T>)
|
||||
}
|
||||
|
||||
fun doSmth(resultHandler: ResultHandler<Boolean>) {
|
||||
resultHandler.onResult(Result(true))
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var res = "FAIL"
|
||||
doSmth { result ->
|
||||
res = if (result.isSuccess) "OK" else "FAIL 1"
|
||||
}
|
||||
return res
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
// WITH_RUNTIME
|
||||
// KJS_WITH_FULL_RUNTIME
|
||||
// IGNORE_BACKEND: JVM
|
||||
|
||||
fun interface ResultHandler<T> {
|
||||
fun onResult(result: Result<T>)
|
||||
}
|
||||
|
||||
fun doSmth(resultHandler: ResultHandler<Boolean>) {
|
||||
resultHandler.onResult(Result.success(true))
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
var res = "FAIL"
|
||||
doSmth { result ->
|
||||
res = if (result.isSuccess) "OK" else "FAIL 1"
|
||||
}
|
||||
return res
|
||||
}
|
||||
Reference in New Issue
Block a user