Here’s an odd bug I’m seeing which seems to have something to do with
I have this code (somewhat simplified):
[%%transform module Foo = struct type t = int end]
module Foo = struct type t = int [@@deriving bar] end
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?