aboutsummaryrefslogtreecommitdiff
path: root/btls.cabal
diff options
context:
space:
mode:
authorGravatar Benjamin Barenblat <bbaren@google.com>2018-07-30 16:42:15 -0400
committerGravatar Benjamin Barenblat <bbaren@google.com>2018-07-30 16:42:15 -0400
commit4256d1812062d566163e5797c75e4ede57669a7e (patch)
tree2932ecf1333e77d53b6109ea2fb2c72765475a8b /btls.cabal
parent4e0ef35c509205def554d1f8e752f94215a9d770 (diff)
Enable `-Werror` and a reasonable set of warnings
Instead of using `-Weverything` and turning warnings off as they become problematic, enable `-Werror` and turn on a specific set of warnings judged to have high signal-to-noise ratio. Fix up all instances of those warnings in the code. These warnings are all available in GHC 8.0.1, which is the default in the current Debian (Debian 9).
Diffstat (limited to 'btls.cabal')
-rw-r--r--btls.cabal61
1 files changed, 50 insertions, 11 deletions
diff --git a/btls.cabal b/btls.cabal
index d554a89..9b87874 100644
--- a/btls.cabal
+++ b/btls.cabal
@@ -41,11 +41,31 @@ library
default-language: Haskell2010
build-tools: c2hs
include-dirs: third_party/boringssl/src/include
- ghc-options: -Weverything
- -Wno-all-missed-specialisations
- -Wno-implicit-prelude
- -Wno-missing-import-lists
- -Wno-safe -Wno-unsafe
+ ghc-options: -Werror
+ -w
+ -Wderiving-typeable
+ -Wduplicate-exports
+ -Widentities
+ -Wincomplete-patterns
+ -Wincomplete-record-updates
+ -Wincomplete-uni-patterns
+ -Wmissing-fields
+ -Wmissing-methods
+ -Wmissing-monadfail-instances
+ -Wnoncanonical-monad-instances
+ -Wnoncanonical-monadfail-instances
+ -Wnoncanonical-monoid-instances
+ -Woverlapping-patterns
+ -Wredundant-constraints
+ -Wsemigroup
+ -Wtabs
+ -Wunused-binds
+ -Wunused-do-bind
+ -Wunused-foralls
+ -Wunused-imports
+ -Wunused-matches
+ -Wunused-type-variables
+ -Wwrong-do-bind
-optl-Wl,-z,relro -optl-Wl,-z,now -optl-Wl,-s
exposed-modules: Data.Digest
, Data.HMAC
@@ -70,12 +90,31 @@ test-suite tests
hs-source-dirs: tests
default-language: Haskell2010
other-extensions: OverloadedStrings
- ghc-options: -Weverything
- -Wno-all-missed-specialisations
- -Wno-implicit-prelude
- -Wno-missing-import-lists
- -Wno-missing-signatures
- -Wno-safe -Wno-unsafe
+ ghc-options: -Werror
+ -w
+ -Wderiving-typeable
+ -Wduplicate-exports
+ -Widentities
+ -Wincomplete-patterns
+ -Wincomplete-record-updates
+ -Wincomplete-uni-patterns
+ -Wmissing-fields
+ -Wmissing-methods
+ -Wmissing-monadfail-instances
+ -Wnoncanonical-monad-instances
+ -Wnoncanonical-monadfail-instances
+ -Wnoncanonical-monoid-instances
+ -Woverlapping-patterns
+ -Wredundant-constraints
+ -Wsemigroup
+ -Wtabs
+ -Wunused-binds
+ -Wunused-do-bind
+ -Wunused-foralls
+ -Wunused-imports
+ -Wunused-matches
+ -Wunused-type-variables
+ -Wwrong-do-bind
-optl-Wl,-z,relro -optl-Wl,-z,now -optl-Wl,-s
main-is: Tests.hs
other-modules: Data.DigestTests