Equality comparison for bound callable references takes into account bound receiver.
Fixed KT-14939: use expected receiver type when generating receiver code in get/set methods for bound property references.
Otherwise we have VerifyError for bound receiver 'null' of type 'Nothing?', which is mapped to 'java.lang.Void'.
TODO: proper equality comparison for property accessors ('x::prop.getter', 'x::prop.setter').
This commit is contained in:
@@ -9,8 +9,11 @@ enum class E {
|
||||
|
||||
fun box(): String {
|
||||
val f = E.A::foo
|
||||
val ef = E::foo
|
||||
|
||||
if (f() != "A") return "Fail 1: ${f()}"
|
||||
if (f != E.B::foo) return "Fail 2"
|
||||
if (f == E.B::foo) return "Fail 2"
|
||||
if (ef != E::foo) return "Fail 3"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user