// WITH_STDLIB // WORKS_WHEN_VALUE_CLASS // LANGUAGE: +ValueClasses OPTIONAL_JVM_INLINE_ANNOTATION value class Augmented(val x: Int) { override fun toString(): String = (x + 1).toString() } OPTIONAL_JVM_INLINE_ANNOTATION value class AsAny(val a: Any) { override fun toString(): String = "AsAny: $a" } data class AugmentedAndAsAny(val a: Augmented, val b: AsAny) fun box(): String { val a = Augmented(0) val single = "$a" if (single != "1") return "Fail 1: $single" val asAny = AsAny(42) val asAnyString = "$asAny" if (asAnyString != "AsAny: 42") return "Fail 2: $asAnyString" val b = Augmented(1) val two = "$a and $b" if (two != "1 and 2") return "Fail 3: $two" val d = AugmentedAndAsAny(a, asAny) if (d.toString() != "AugmentedAndAsAny(a=1, b=AsAny: 42)") return "Fail 4: $d" return "OK" }