Skip to content

ClassCastError when use ArrayBuffer #20

@ponkotuy

Description

@ponkotuy
import org.msgpack.annotation.Message
import org.msgpack.ScalaMessagePack
import scala.collection.mutable

@Message
class A {
  var names: scala.collection.Seq[String] = Nil
}

object Main extends App {
  val a = new A()
  a.names = mutable.ArrayBuffer("a", "b")
  val serialized : Array[Byte] = ScalaMessagePack.write(a)
}
[error] (run-main-0) java.lang.ClassCastException: scala.collection.mutable.ArrayBuffer cannot be cast to scala.collection.immutable.List
java.lang.ClassCastException: scala.collection.mutable.ArrayBuffer cannot be cast to scala.collection.immutable.List
    at org.msgpack.template.ImmutableListTemplate.write(ImmutableListTemplate.scala:32)
    at org.msgpack.template.AbstractTemplate.write(AbstractTemplate.java:27)
    at A_$$_Template_1493359522_0.write(A_$$_Template_1493359522_0.java)
    at org.msgpack.template.AbstractTemplate.write(AbstractTemplate.java:27)
    at org.msgpack.MessagePack.write(MessagePack.java:196)
    at org.msgpack.ScalaMessagePackWrapper$class.write(ScalaMessagePack.scala:64)
    at org.msgpack.ScalaMessagePack$.write(ScalaMessagePack.scala:43)
    at Main$.delayedEndpoint$Main$1(Main.scala:13)
    at Main$delayedInit$body.apply(Main.scala:10)
    at scala.Function0$class.apply$mcV$sp(Function0.scala:40)
    at scala.runtime.AbstractFunction0.apply$mcV$sp(AbstractFunction0.scala:12)
    at scala.App$$anonfun$main$1.apply(App.scala:76)
    at scala.App$$anonfun$main$1.apply(App.scala:76)
    at scala.collection.immutable.List.foreach(List.scala:381)
    at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:35)
    at scala.App$class.main(App.scala:76)
    at Main$.main(Main.scala:10)
    at Main.main(Main.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:497)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions