Scala Decapado y parámetros de tipo.
Estoy usandoScala Decapado, un marco de serialización automático para Scala. De acuerdo con ladiapositivas del autor, cualquier tipoT
Puede ser decapado siempre que haya una implícitaPickler[T]
en alcance. Aquí, estoy asumiendo que ella quiere decirscala.tools.nsc.io.Pickler
. Sin embargo, lo siguiente no se compila:
import scala.pickling._
import scala.pickling.binary._
import scala.tools.nsc.io.Pickler
object Foo {
def bar[T: Pickler](t: T) = t.pickle
}
El error es:
[error] exception during macro expansion:
[error] scala.ScalaReflectionException: type T is not a class
[error] at scala.reflect.api.Symbols$SymbolApi$class.asClass(Symbols.scala:323)
[error] at scala.reflect.internal.Symbols$SymbolContextApiImpl.asClass(Symbols.scala:73)
[error] at scala.pickling.PickleMacros$class.pickleInto(Macros.scala:381)
[error] at scala.pickling.Compat$anon$17.pickleInto(Compat.scala:33)
[error] at scala.pickling.Compat$.PickleMacros_pickleInto(Compat.scala:34)
Estoy usando Scala 2.10.2 con scala-pickling 0.8-SNAPSHOT.
¿Es este un error o error del usuario?
EDIT 1: El mismo error surge con ambosscala.pickling.SPickler
yscala.pickling.DPickler
.
EDIT 2: parece que esto es un error:https://github.com/scala/pickling/issues/31