19 lines
462 B
Kotlin
Vendored
19 lines
462 B
Kotlin
Vendored
// WITH_STDLIB
|
|
// WORKS_WHEN_VALUE_CLASS
|
|
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
|
|
|
|
OPTIONAL_JVM_INLINE_ANNOTATION
|
|
value class UInt<T: Int>(val value: T) {
|
|
operator fun plus(other: UInt<T>) = UInt(value + other.value)
|
|
fun otherValue(other: UInt<T>) = other.value
|
|
}
|
|
|
|
fun box(): String {
|
|
val a = UInt(10)
|
|
val b = UInt(20)
|
|
if (a.otherValue(b) != 20) return "fail 1"
|
|
|
|
if ((a + b).value != 30) return "fail 2"
|
|
|
|
return "OK"
|
|
} |