由于某些原因。我无法为运算符定义扩展运算符函数,++
同时--
能够为相同的运算符定义成员运算符函数。
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
object _12_IncrementAndDecrementOperatorsCantBeExtensionFunctions_Test {
private class X {
operator fun inc(): X = X()
operator fun dec(): X = X()
}
private class Y
/*Compile-time | 'operator' modifier is inapplicable on this function: receiver must be a supertype of the return type*/
private operator fun Y.inc(): Y = Y()
/*Compile-time | 'operator' modifier is inapplicable on this function: receiver must be a supertype of the return type*/
private operator fun Y.dec(): Y = Y()
}
我错过了什么吗?有这种限制的原因吗?