package monocle.macros import monocle._ import monocle.macros.internal.MacroImpl class GenLens[A] { /** generate a [[Lens]] between a case class `S` and one of its field */ def apply[B](field: A => B): Lens[A, B] = macro MacroImpl.genLens_impl[A, B] } object GenLens { def apply[A] = new GenLens[A] }