| // WITH_STDLIB | |
| // WORKS_WHEN_VALUE_CLASS | |
| // LANGUAGE: +ValueClasses | |
| OPTIONAL_JVM_INLINE_ANNOTATION | |
| value class Z1(val x: String) | |
| OPTIONAL_JVM_INLINE_ANNOTATION | |
| value class ZN(val z: Z1?) | |
| OPTIONAL_JVM_INLINE_ANNOTATION | |
| value class ZN2(val z: ZN) | |
| fun zap(b: Boolean): ZN2? = if (b) null else ZN2(ZN(null)) | |
| fun eq(a: Any?, b: Any?) = a == b | |
| fun box(): String { | |
| val x = zap(true) | |
| val y = zap(false) | |
| if (eq(x, y)) throw AssertionError() | |
| return "OK" | |
| } |