I have a unit test file:
module X04PatMatTest where
import AssertError
import Test.HUnit
import X04PatMat
...
and hlint complains:
X04PatMatTest.hs:15:69: Warning: Use string literal
Found:
['a', 'b', 'd']
Why not:
"abd"
for various reasons, I really want to put ['a', 'b', 'd']
in the test code.
I have tried various permuatations of
{-# ANN X04PatMatTest "HLint: ignore Warning: Use string literal" #-}
like putting the pragma as the first line of the file, after the module declaration, with the name module
instead of X04...
, changing the Warning
to warn
...
What is the magic?
You need to write the pragma in another way. After some trial and error I came up with the following:
module Test where
import Data.Char(toUpper)
{-# ANN module "HLint: ignore Use string literal" #-}
main :: IO ()
main = putStrLn ['a','b','c']
note that you have to write "module"
and not the name of the module