Skip to content
This repository was archived by the owner on Feb 20, 2019. It is now read-only.
This repository was archived by the owner on Feb 20, 2019. It is now read-only.

diverging implicit expansion error #317

Open
@marklemay

Description

@marklemay

I get the error:

Description Resource    Path    Location    Type
diverging implicit expansion for type scala.pickling.Pickler[Map[scratch.pickletest.A,Int]] starting with macro method genPickler in trait GenPicklers  pickletest.scala    

on the file

package scratch

object pickletest {

  sealed abstract class A(val cs1: Seq[C], val cs2: Seq[C])

  case class B(override val cs1: Seq[C], override val cs2: Seq[C])
    extends A(cs1, cs2)

  sealed abstract trait C;

  case object Unresolved extends C

  sealed abstract trait NamedTrait extends C

  case class Named(val typeParams: Seq[C]) extends NamedTrait

  def main(args: Array[String]) {

    import scala.pickling.Defaults._
    import scala.pickling.json._

    val l: Map[A, Int] = Map(B(Seq(Unresolved), Seq(Unresolved)) -> 2)

    val wire: String = l.pickle.value

    println(wire)
  }
}

many small tweaks will make the above compile, for instance being more specific about the imports

package scratch

object pickletest {

  sealed abstract class A(val cs1: Seq[C], val cs2: Seq[C])

  case class B(override val cs1: Seq[C], override val cs2: Seq[C])
    extends A(cs1, cs2)

  sealed abstract trait C;

  case object Unresolved extends C

  sealed abstract trait NamedTrait extends C

  case class Named(val typeParams: Seq[C]) extends NamedTrait

  def main(args: Array[String]) {

    import scala.pickling.Defaults.genPickler
    import scala.pickling.Defaults.pickleOps
    import scala.pickling.json.pickleFormat

    val l: Map[A, Int] = Map(B(Seq(Unresolved), Seq(Unresolved)) -> 2)

    val wire: String = l.pickle.value

    println(wire)
  }
}

I am using scala 2.11.6 and scala-pickling_2.11 version 0.10.0.

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