Here’s an odd bug I’m seeing which seems to have something to do with lens.ppx_deriving
.
I have this code (somewhat simplified):
[%%transform
module Foo = struct
type t = int
end]
where %%transform
generates
module Foo = struct
type t = int [@@deriving bar]
end
where bar
is a deriver I’ve written. In most cases, that works fine. But if the dune
preprocessing list includes lens.ppx_deriving
, the deriver bar
is not applied. Strangely, if I omit %%transform
, and enter deriving bar
manually, then bar
is applied. Removing lens.ppx_deriving
fixes the problem. Of course, I need that for some code.
What could cause the interaction between lens.ppx_deriving
and my own deriver?