gpt4 book ai didi

haskell - Haskell 中无法识别的 HLINT pragma

转载 作者:行者123 更新时间:2023-12-04 02:28:28 28 4
gpt4 key购买 nike

我正在尝试禁用 HLint 给我的一些警告。 According to docs我应该能够在我的文件顶部添加一个 pragma。所以我尝试了以下方法:

{-# HLINT ignore #-}
module Main where

然而,这在运行 stack build 时给我一个错误:

/Users/nene/somedir/src/Main.hs:1:1: warning: [-Wunrecognised-pragmas]
Unrecognised pragma
|
1 | {-# HLINT ignore #-}
| ^^^

似乎 pragma 在我的编辑器(带有“Haskell”扩展名的 VSCode)中确实有效,但在运行 stack 时无法识别。

最佳答案

如果你想在没有任何警告的情况下使用 pragma,你可以像这样使用 ANN pragma:

{-# ANN module "HLint: ignore" #-}

但是我建议使用常规注释而不是编译指示:

{- HLINT ignore -}

我更喜欢常规注释,因为它们不像 pragma 那样有奇怪的规则。事实上the documentation备注:

For ANN pragmas it is important to put them after any import statements. If you have the OverloadedStrings extension enabled you will need to give an explicit type to the annotation, e.g. {-# ANN myFunction ("HLint: ignore" :: String) #-}. The ANN pragmas can also increase compile times or cause more recompilation than otherwise required, since they are evaluated by TemplateHaskell.

For {-# HLINT #-} pragmas GHC may give a warning about an unrecognised pragma, which can be suppressed with -Wno-unrecognised-pragmas.

关于haskell - Haskell 中无法识别的 HLINT pragma,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65742311/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com