JVM arrays are not really generic, the type of the item they store have to be known at compile time, there is no type erasure.
This means that the current decoder fails during runtime:
Caused by: java.lang.ClassCastException:
class [Ljava.lang.Object; cannot be cast to class [Ljava.util.List; ([Ljava.lang.Object; and [Ljava.util.List; are in module java.base of loader 'bootstrap')
JVM arrays are not really generic, the type of the item they store have to be known at compile time, there is no type erasure.
This means that the current decoder fails during runtime:
The code in question is in Collections.kt
To solve this we have to pass the class the array stores, probably in
ArrayWireFormat
.I'll put this on the self for now as non-primitive arrays can be easily replaced with lists.