Подтвердить что ты не робот

Как [временно] подавлять "определенные, но не используемые" предупреждения?

Когда я создаю прототипы программ Haskell, я всегда получаю сотни таких предупреждений (не шучу):

/Users/bob/SourceCode/course/is/expriment/LiftedSpine2.hs:70:15:
    Warning: Defined but not used: `ta'

/Users/bob/SourceCode/course/is/expriment/LiftedSpine2.hs:72:15:
    Warning: Defined but not used: `ta'

/Users/bob/SourceCode/course/is/expriment/LiftedSpine2.hs:77:26:
    Warning: Defined but not used: `v'

Есть ли способ временно удалить эти предупреждения? Я попытался поместить это в мой .hs файл:

 {-# OPTIONS_GHC -fno-warn-unused-binds -fno-warn-name-shadowing 
    -fwarn-monomorphism-restriction -fwarn-hi-shadowing
 #-}

К сожалению, он не работает, и хотя я также пытался: установить -fno-warn-unused-binds, он все равно не работает.

Большое спасибо!

4b9b3361

Ответ 1

Другая возможность, в зависимости от вашей ситуации: я считаю, что вы можете префикс идентификаторов с подчеркиванием для подавления этого предупреждения. Итак:

_x = 42

не будет генерировать предупреждение, если _x не используется.

Ответ 2

GHC имеет два предупреждения, которые могут вызывать Warning: Defined but not used.

Вам нужна комбинация флагов командной строки -fno-warn-unused-binds и -fno-warn-unused-matches.

Ответ 3

Обычно я использую -w для подавления всех предупреждений, когда я хочу временно избавиться от некоторого предупреждения.

Ответ 4

Я использую обходное решение для этого:

Я компилирую без предупреждений, но затем я использую инструмент HLint для отображения предупреждений для меня. HLint имеет возможности развернуть предупреждения отдельно.