Files
kotlin-fork/compiler/testData/codegen/box/inlineClasses/iterateOverArrayOfInlineClassValuesGeneric.kt
T
2022-02-15 08:11:13 +01:00

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"
}