unqualified super: should be able to invoke methods of Any without extra hassle
when Any is an implicit immediate superclass
This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
interface ISomething
|
||||
|
||||
open class ClassWithToString {
|
||||
override fun toString(): String = "C"
|
||||
}
|
||||
|
||||
interface IWithToString {
|
||||
override fun toString(): String
|
||||
}
|
||||
|
||||
interface IWithDefaultToString {
|
||||
override fun toString(): String = "I"
|
||||
}
|
||||
|
||||
class C1 : ClassWithToString(), ISomething {
|
||||
override fun toString(): String = super.toString()
|
||||
}
|
||||
|
||||
class C2 : ClassWithToString(), IWithToString, ISomething {
|
||||
override fun toString(): String = super.toString()
|
||||
}
|
||||
|
||||
class C3 : IWithDefaultToString, ISomething {
|
||||
override fun toString(): String = super.toString()
|
||||
}
|
||||
|
||||
fun box(): String {
|
||||
return when {
|
||||
C1().toString() != "C" -> "Failed #1"
|
||||
C2().toString() != "C" -> "Failed #2"
|
||||
C3().toString() != "I" -> "Failed #3"
|
||||
else -> "OK"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user