Use accessible get/set arguments for collection element receiver
When generating collection element receiver (such as 'a[i]'), accessible descriptor for get/set operator should be used. Otherwise, if the corresponding get/set operator fun is called via an accessor, its argument types may be different in case of generic fun specialized with primitive types. #KT-20387 Fixed
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
// FILE: test.kt
|
||||
import base.*
|
||||
|
||||
class Derived : Base<Long>() {
|
||||
inner class Inner {
|
||||
fun foo() = this@Derived[0L]
|
||||
}
|
||||
}
|
||||
|
||||
fun box() = Derived().Inner().foo()
|
||||
|
||||
// FILE: Base.kt
|
||||
package base
|
||||
|
||||
open class Base<K> {
|
||||
protected operator fun get(key: K) = "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user