问题描述
最近版本的 GHC 自动为所有数据类型派生 Timber.plant()
实例。我想关闭它。以前,Typeable
语言扩展用于启用此功能,因此我认为如果我使用 AutoDeriveTypeable
语言编译指示,就可以解决问题。然而,即使 GHC 没有发出关于未知语言编译指示的错误,NoAutoDeriveTypeable
似乎没有任何影响,因为我可以在生成的 Core 中看到与 NoAutoDeriveTypeable
相关的 CAF。
解决方法
There is a DynFlag
for this,结果是 it can be turned on with the -dno-typeable-binds
compile-time flag。根据文档,此标志仅用于调试目的:
-dno-typeable-binds
这避免为模块和类型生成与 Typeable
相关的绑定。这在调试时很有用,因为它给出了
较小的模块和转储,但如果你尝试编译器会恐慌
使用您使用此标志构建的事物的 Typeable
实例。