使用 DuplicateRecordFields 创建镜头

Creating lenses with DuplicateRecordFields

您将如何在启用新的 DuplicateRecordFields 的情况下生成镜头?

我已经尝试过使用 makeLenses,但是 根本没有生成任何东西

我还尝试使用限定符导入我的构造函数以防止字段和镜头之间的名称冲突,但这也没有帮助。

template-haskell 是否存在一些未解决的问题,因为它与此新扩展有关(我在 GHC 错误跟踪器中发现了一个与此相关的问题,但它已被关闭),或者我是否遗漏了什么显而易见?

正如评论者指出的那样,您可以使用 makeLensesWith 解决此问题,这就是我最终所做的:

makeLensesWith abbreviatedFields