Files
kotlin/compiler/testData/codegen/box/inlineClasses/conformToComparableAndCallInterfaceMethod.kt
Mikhail Zarechenskiy ec9d8e580e Leave boxing for compareTo/areEqual methods for inline classes
Inline classes can override methods and thus introduce side effects
2018-07-20 11:51:34 +03:00

17 lines
319 B
Kotlin
Vendored

// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND: JVM_IR
inline class Foo(val x: Int) : Comparable<Foo> {
override fun compareTo(other: Foo): Int {
return 10
}
}
fun box(): String {
val f1 = Foo(42)
val ff1: Comparable<Foo> = f1
if (ff1.compareTo(f1) != 10) return "Fail"
return "OK"
}