22 lines
390 B
Kotlin
Vendored
22 lines
390 B
Kotlin
Vendored
interface IC1 {
|
|
operator fun component1(): String
|
|
}
|
|
|
|
interface IC2 {
|
|
operator fun component2(): String
|
|
}
|
|
|
|
class A : IC1, IC2 {
|
|
override fun component1(): String = "O"
|
|
override fun component2(): String = "K"
|
|
}
|
|
|
|
fun test(x: Any): String {
|
|
if (x is IC1 && x is IC2) {
|
|
val (x1, x2) = x
|
|
return "$x1$x2"
|
|
}
|
|
return "FAIL"
|
|
}
|
|
|
|
fun box(): String = test(A()) |