使用腌制的Scala上的特征序列化类中的错误



我正在尝试使用腌制序列化scala类。

  import scala.pickling.Defaults._
  import scala.pickling.json._
  trait Tr[T<: Tr[T]]{}
  class Sub(z: Int) extends Tr[Sub] {}
  class Data(b: Tr[_])
  val message = new Data(new Sub(1)).pickle.value

我在汇编时遇到此错误:

错误:.....类型参数[_ $ 2]不符合特质TR的类型 参数范围[T&LT;:TR [T]] val消息=新数据(新sub(1))。泡菜

使用以下类层次结构:

trait Tr[T <: Tr[T]]
case class Sub(z: Int) extends Tr[Sub]
case class Data[T <: Tr[T]](b: T)
val message = Data(Sub(1)).pickle.value

腌制,例如:

{
  "$type": "Data[Sub]",
  "b": {
    "z": 1
  }
}

最新更新