如何让ghc将某些类型的警告视为错误,而将其他警告视为警告,并仍然报告它们?
我希望可以通过类似以下方式实现:
ghc -Werror -fwarn-missing-methods -Wwarn -fwarn-missing-signatures
但我在这方面没有运气(我认为gcc也不支持这个)。
请注意,从 GHC 8.2.1 开始,这个功能已经存在了!它在 Trac 票据#11219中描述,现在您可以执行ghc -Werror=missing-methods -Wmissing-signatures
命令!
ghc -Werror -fwarn-missing-methods -fno-warn-missing-signatures
如果这是一个很大的问题,你可以考虑按模块启用或禁用警告。因此,在某些模块中,你可能会有:
{-# OPTIONS_GHC -Wall -Werror #-}
在这里了解一切,而在其他方面:
(此处可能需要上下文来更好地翻译) {-# OPTIONS_GHC -w -Werror -fwarn-missing-methods #-}
仅将某些事物视为错误。