Kotlin:编译器没有推断某些运算符的泛型类型

时间:2015-12-17 19:30:39

标签: generics operator-overloading operator-keyword kotlin jvm-languages

为什么Kotlin的编译器不能通过一些操作符调用来推断泛型类型?例如:

class Example {

    operator inline fun <reified T : Any> unaryMinus(): T {
        ...
    }

}

在主方法中使用它......

fun main(args: Array<String>) {
    val ex = Example()

    val works: Boolean = ex.unaryMinus()
    val doesntWork: Boolean = -ex
}

enter image description here

1 个答案:

答案 0 :(得分:0)

遗憾的是,这是一个错误的结果:https://youtrack.jetbrains.com/issue/KT-10453