Scala Monocle - Cannot find method id in E

208 Views Asked by At

The class definition looks like this:

abstract class EntityWithIdHelper[E <: { def id: Int }] {
  def idLens: Lens[E, Int] = GenLens[E](_.id)
  ...

How do you avoid this problem - Cannot find method id in E? Is there any workaround?

1

There are 1 best solutions below

0
Julien Truffaut On

You cannot create a Lens for id because a Lens requires a getter and a setter and here you only have a getter.

Also if you want to use GenLens[E], E has to be a case class.