24 lines
467 B
Kotlin
Vendored
24 lines
467 B
Kotlin
Vendored
// WITH_RUNTIME
|
|
|
|
@Suppress("OPTIONAL_DECLARATION_USAGE_IN_NON_COMMON_SOURCE")
|
|
@kotlin.jvm.JvmInline
|
|
value class Ucn(private val i: UInt)
|
|
|
|
interface Input<T> {
|
|
fun foo(n: Int = 0): T
|
|
}
|
|
|
|
fun Char.toUInt() = toInt().toUInt()
|
|
|
|
class Kx(val x: UInt) : Input<Ucn> {
|
|
override fun foo(n: Int): Ucn =
|
|
if (n < 0) Ucn(0u) else Ucn(x)
|
|
}
|
|
|
|
fun box(): String {
|
|
val p = Kx(42u).foo()
|
|
if (p.toString() != "Ucn(i=42)") throw AssertionError()
|
|
|
|
return "OK"
|
|
}
|