Skip to content

Generic Shape coproduct types reversed in section 2.4 #58

@SamDM

Description

@SamDM

Near the end of section 2.4 there is the following example:

  sealed trait Shape
  final case class Rectangle(width: Double, height: Double) extends Shape
  final case class Circle(radius: Double) extends Shape

  val gen = Generic[Shape]

gen is supposed to be:

Generic[Shape]{type Repr = Rectangle :+: Circle :+: CNil} = ...

But when I try it, it is (note that Rectangle and Circle are in reversed order):

Generic[Shape]{type Repr = Circle :+: Rectangle :+: CNil} = ...

I am going through the book to learn about shapeless, I don't know if this is intended behavior of shapeless and a bug in the documentation or the other way around. Or does this only happen on my system? If this is a bug in shapeless I'll open an issue there (unless someone beats me to it).

I'm using scala 2.12.3 and shapeless 2.3.2, I'm compiling with sbt.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions