问题 ghc可以将某些指定的警告视为错误,将其他警告视为警告吗?


ghc能否以某种方式被说服将某些类型的警告视为错误,将其他警告视为警告,同时仍然报告它们?

我希望,这可能是这样的:

ghc -Werror -fwarn-missing-methods -Wwarn -fwarn-missing-signatures

,但我没有运气。 (我认为gcc也不支持这个。)


7689
2018-05-09 11:45


起源



答案:


不,这是一个全有或全无的开关。但是,你可以做到

ghc -Werror -fwarn-missing-methods -fno-warn-missing-signatures

虽然这会导致GHC完全吞下警告,这可能不是你想要的。


5
2018-05-09 11:48



不,这正是我希望阻止的。 - shahn
谢谢,但是。 - shahn


答案:


不,这是一个全有或全无的开关。但是,你可以做到

ghc -Werror -fwarn-missing-methods -fno-warn-missing-signatures

虽然这会导致GHC完全吞下警告,这可能不是你想要的。


5
2018-05-09 11:48



不,这正是我希望阻止的。 - shahn
谢谢,但是。 - shahn


请注意,启动GHC 8.2.1,此功能存在!这是由Trac票证描述的 #11219 现在你可以做到 ghc -Werror=missing-methods -Wmissing-signatures


4
2017-09-25 14:24





如果这非常令人担忧,您可以考虑在每个模块的基础上启用和禁用警告。所以在某些模块中你会有:

 {-# OPTIONS_GHC -Wall -Werror #-}

在这里谈论一切,而在其他人:

 {-# OPTIONS_GHC -w -Werror -fwarn-missing-methods #-}

只启用一些错误的东西。


2
2018-05-09 16:01