blob: 4ed2d86f5eca091f905a13bff33fe4417544b9b1 [file] [log] [blame]
// WITH_STDLIB
// WORKS_WHEN_VALUE_CLASS
// LANGUAGE: +ValueClasses, +GenericInlineClassParameter
OPTIONAL_JVM_INLINE_ANNOTATION
value class UInt<T: Int>(val s: T)
fun <T: Int> test(a1: Any, a2: UInt<T>?, a3: Any?, a4: Any?): Int {
val b1 = a1 as UInt<T>
val b2 = a2 as UInt<T>
val b3 = (a3 as UInt<T>?) as UInt<T>
val b4 = (a4 as? UInt<T>) as UInt<T>
return b1.s + b2.s + b3.s + b4.s
}
fun box(): String {
val u1 = UInt(1)
val u2 = UInt(2)
if (test(u1, u2, u1, u2) != 6) return "fail"
return "OK"
}