pickling icon indicating copy to clipboard operation
pickling copied to clipboard

pickling a java.lang.Byte doesn't contain value (unpickles to zero)

Open windelknecht opened this issue 10 years ago • 3 comments

Using:

"org.scala-lang" %% "scala-pickling" % "0.9.1"

When:

import scala.pickling._, json._
val r1: java.lang.Byte = 13.toByte
val r2 = r1.pickle

Then:

{
    "tpe": "java.lang.Byte"
}

But scala.Byte works:

val z1: Byte = 13.toByte
val z2 = z1.pickle
{
    "tpe": "scala.Byte",
    "value": 13
}

windelknecht avatar Jan 08 '15 08:01 windelknecht

It seems that none of the java.lang.* primitives work. So is this an issue or is my code incomplete?

windelknecht avatar Jan 08 '15 08:01 windelknecht

More sinister problem is that you get 0 when you unpickle.

scala> import scala.pickling._, Defaults._, json._
import scala.pickling._
import Defaults._
import json._

scala> val r1: java.lang.Byte = 13.toByte
r1: Byte = 13

scala> val r2 = r1.pickle
r2: scala.pickling.json.pickleFormat.PickleType =
JSONPickle({
  "$type": "java.lang.Byte"
})

scala> val r3 = r2.unpickle[java.lang.Byte]
r3: Byte = 0

eed3si9n avatar Feb 08 '15 12:02 eed3si9n

Maybe this is a case of #60.

eed3si9n avatar Feb 08 '15 12:02 eed3si9n