mathieuleclaire on master
Update sbt-scalajs, scalajs-com… Merge pull request #141 from sc… (compare)
I am trying to pickle a custom collection type using a transformPickler
.
The collection is a strictly alternating sequence of two types and is implemented like this: class Alternating[Even, Odd](val first: Even, val rest: Seq[(Odd, Even)])
My Pickling code looks like this:
implicit def alternatingPickler[Even, Odd] =
transformPickler[Alternating[Even, Odd], (Even, Seq[(Odd, Even)])] {
case (first, rest) => Alternating(first, rest)
} (a => (a.first, a.rest))
I am getting an error message when compiling:
[error] C:\Users\mbust\Documents\projects\delta-t\modules\core\shared\src\main\scala\io\delta_t\collection\serializers\Boopickle.scala:14:7: exception during macro expansion:
[error] java.lang.RuntimeException: Enclosure: source-C:\Users\mbust\Documents\projects\delta-t\modules\core\shared\src\main\scala\io\delta_t\collection\serializers\Boopickle.scala,line-14,offset=432, type = Even
[error] at boopickle.PicklerMaterializersImpl$.materializePickler(PicklerMaterializersImpl.scala:106)
[error] } (a => (a.first, a.rest))
[error] ^
transformPickler
support generics? Or is there something else I am doing wrong?
addTransform
that is not needed IIRC