22

単体テスト ファイルがあります。

module X04PatMatTest where

import AssertError
import Test.HUnit
import X04PatMat

...

と hlint は不平を言います:

X04PatMatTest.hs:15:69: Warning: Use string literal 
Found:
  ['a', 'b', 'd']
Why not:
  "abd"

いろいろな理由から、私はどうしても['a', 'b', 'd']テストコードを入れたいと思っています。

私はさまざまな順列を試しました

{-# ANN X04PatMatTest "HLint: ignore Warning: Use string literal" #-}

プラグマをファイルの最初の行として、モジュール宣言の後に置き、 のmodule代わりに名前を付けて、を...X04...に変更するようなものです。Warningwarn

魔法は何ですか?

4

3 に答える 3

24

別の方法でプラグマを記述する必要があります。試行錯誤の末、以下の方法にたどり着きました。

module Test where

import Data.Char(toUpper)

{-# ANN module "HLint: ignore Use string literal" #-}
main :: IO ()
main = putStrLn ['a','b','c']

"module"モジュールの名前ではなく、書く必要があることに注意してください

于 2013-10-08T04:37:00.667 に答える