blob: bea09d86d319b23bb503a7f052d4ccfef9e13acd [file] [log] [blame]
// WITH_STDLIB
// TARGET_BACKEND: JVM_IR
// LANGUAGE: +ValueClasses
// CHECK_BYTECODE_LISTING
// FIR_IDENTICAL
@JvmInline
value class DPoint(val x: Double, val y: Double)
class PointBox(var value: DPoint)
fun box(): String {
var p = DPoint(1.0, 2.0)
try {
p = DPoint(3.0, error("Failure"))
} catch (_: Exception) {
}
if (p != DPoint(1.0, 2.0)) {
return "Partially reassigned variable"
}
val box = PointBox(p)
try {
box.value = DPoint(3.0, error("Failure"))
} catch (_: Exception) {
}
if (box.value != DPoint(1.0, 2.0)) {
return "Partially reassigned field"
}
return "OK"
}