Use original instead of lowered function to retrieve toString-impl
in string concatenation lowering. Otherwise, inliner tries to get body of already lowered function, failing. #KT-48284 Fixed
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// WITH_RUNTIME
|
||||
|
||||
import kotlin.jvm.JvmInline
|
||||
|
||||
open class Expando {
|
||||
val expansion: Expansion = Expansion()
|
||||
}
|
||||
|
||||
@JvmInline
|
||||
value class Expansion(val map: MutableMap<String, Any?> = mutableMapOf()) {
|
||||
override inline fun toString(): String = "OK"
|
||||
}
|
||||
|
||||
data class Foo(val i: Int): Expando() {
|
||||
override fun toString(): String {
|
||||
return "$expansion"
|
||||
}
|
||||
}
|
||||
|
||||
fun box(): String = Foo(0).toString()
|
||||
Reference in New Issue
Block a user