0

它看起来KProperty1<T, R>在 JVM 和 JS 中具有不同的语义,例如,当这个测试在 JVM 上工作时:

data class Data(val name: String)
class Test {
    @Test fun propertiesMustBeEqual() {
        assertEquals(Data::name, Data::name)
    }
}

它在 Javascript 中失败并显示以下消息:

1) test
       Test
         propertiesMustBeEqual:
     AssertionError: Expected <function ($receiver) {
      return $receiver.name;
    }>, actual <function ($receiver) {
      return $receiver.name;
    }>

任何想法如何解决这个问题?

4

1 回答 1

2

在所有平台上,对同一属性的未绑定属性引用应该相同。但是它们在 JS 中不相等的情况是跟踪为https://youtrack.jetbrains.com/issue/KT-15101的错误

于 2018-03-08T10:34:19.347 回答