29 lines
546 B
Kotlin
Vendored
29 lines
546 B
Kotlin
Vendored
// WITH_STDLIB
|
|
// WORKS_WHEN_VALUE_CLASS
|
|
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
|
|
|
|
OPTIONAL_JVM_INLINE_ANNOTATION
|
|
value class Foo<T: Int>(val arg: T)
|
|
|
|
OPTIONAL_JVM_INLINE_ANNOTATION
|
|
value class AsAny<T: Any>(val arg: T)
|
|
|
|
fun box(): String {
|
|
val arr = arrayOf(Foo(1), Foo(2))
|
|
var sum = 0
|
|
for (el in arr) {
|
|
sum += el.arg
|
|
}
|
|
|
|
if (sum != 3) return "Fail 1"
|
|
|
|
sum = 0
|
|
for (el in arrayOf(AsAny(42), AsAny(1))) {
|
|
sum += el.arg as Int
|
|
}
|
|
|
|
if (sum != 43) return "Fail 2"
|
|
|
|
return "OK"
|
|
}
|