zeugederunity
10/05/2020, 8:46 AMfun main() {
fun main() {
val arr1 = Array(0) { "" }::class
val arr2 = arrayOf("")::class
val arr3 = Array::class
println(arr1 == Array::class) //false
println(arr1.isSubclassOf(Array::class)) //false
println(arr2 == Array::class) //false
println(arr2.isSubclassOf(Array::class)) //false
println(arr3 == Array::class) //true
println(arr3.isSubclassOf(Array::class)) //true
}
I think thats a bug.spand
10/05/2020, 8:49 AMarr1
and it might become obviouszeugederunity
10/05/2020, 8:51 AMspand
10/05/2020, 8:56 AMval arr1: KClass<out Array<String>>
val arr2: KClass<out Array<String>>
val arr3: KClass<Array<*>>
zeugederunity
10/05/2020, 9:08 AMzeugederunity
10/05/2020, 9:11 AMequals
. Especially when you cant call isArray
zeugederunity
10/05/2020, 9:11 AMspand
10/05/2020, 9:19 AMzeugederunity
10/05/2020, 9:35 AMinline fun <reified T> T.call(block: (T)->Unit){
if (T::class == Array::class){
error("This is an array")
}
block(this)
}
In javascript that code works as expected, but when i use the same function in my JVM code it does not work as expected.zeugederunity
10/05/2020, 9:40 AM