blob: cff28b07c4e64adf9f25ae5cd314431b7d5cfee1 [file]
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +JvmInlineMultiFieldValueClasses
OPTIONAL_JVM_INLINE_ANNOTATION
value class Z<T: Int>(val value: T)
fun eq(a: Z<Int>?, b: Z<Int>) = a == b
fun eqq(a: Z<Int>, b: Z<Int>?) = a == b
fun box(): String {
if (!eq(Z(1), Z(1))) throw AssertionError()
if (eq(Z(1), Z(2))) throw AssertionError()
if (eq(null, Z(0))) throw AssertionError()
if (!eqq(Z(1), Z(1))) throw AssertionError()
if (eqq(Z(1), Z(2))) throw AssertionError()
if (eqq(Z(0), null)) throw AssertionError()
return "OK"
}