22 lines
574 B
Kotlin
Vendored
22 lines
574 B
Kotlin
Vendored
// WITH_STDLIB
|
|
// WORKS_WHEN_VALUE_CLASS
|
|
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
|
|
|
|
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"
|
|
} |