我试图禁用HLint给我的一些警告。根据医生,我应该能够在我的文件顶部添加一个实用程序。因此,我尝试了以下几点:
{-# HLINT ignore #-}
module Main where但是,在运行stack build时会出现错误。
/Users/nene/somedir/src/Main.hs:1:1: warning: [-Wunrecognised-pragmas]
Unrecognised pragma
|
1 | {-# HLINT ignore #-}
| ^^^在我的编辑器(带有"Haskell“扩展的VSCode)中,这个语用看起来确实有效,但在运行stack时却不被识别。
发布于 2021-01-15 19:35:14
如果您想在没有任何警告的情况下使用一个语用,您可以这样使用ANN实用化:
{-# ANN module "HLint: ignore" #-}然而,我建议使用一个常规的评论,而不是一个实用主义:
{- HLINT ignore -}我更喜欢定期的评论,因为他们没有像语用学那样奇怪的规则。事实上,文献资料注意到:
对于
ANN语用,重要的是将它们放在任何导入语句之后。如果启用了OverloadedStrings扩展,则需要为注释提供显式类型,例如{-# ANN myFunction ("HLint: ignore" :: String) #-}。ANN实用程序还可以增加编译时间或导致比其他情况下需要的更多的重新编译,因为它们是由TemplateHaskell计算的。 对于{-# HLINT #-}语用来说,GHC可能会给出一个关于未被识别的语用的警告,它可能会被-Wno-unrecognised-pragmas所抑制。
https://stackoverflow.com/questions/65742311
复制相似问题