KT-28405 Fix toString for inline classes with underlying arrays

This commit is contained in:
Dmitry Petrov
2018-12-07 13:06:11 +03:00
parent 500dc11514
commit 45035d3e11
7 changed files with 56 additions and 6 deletions
+23
View File
@@ -0,0 +1,23 @@
// !LANGUAGE: +InlineClasses
// WITH_RUNTIME
// IGNORE_BACKEND: JVM_IR, JS_IR
import kotlin.test.*
inline class TestUIntArrayW(val x: UIntArray)
inline class InlineCharArray(val x: CharArray) {
override fun toString(): String = x.contentToString()
}
inline class TestInlineCharArrayW(val x: InlineCharArray)
fun box(): String {
val t1 = TestUIntArrayW(UIntArray(1)).toString()
if (!t1.startsWith("TestUIntArrayW")) throw AssertionError(t1)
val t2 = TestInlineCharArrayW(InlineCharArray(charArrayOf('a'))).toString()
if (!t2.startsWith("TestInlineCharArrayW")) throw AssertionError(t2)
return "OK"
}