daml/bazel_tools/haskell_proto3_suite_deriving_defaults.patch
Moritz Kiefer 5d91a25306
Disable deriving-defaults per file (#8684)
Disabling it per target works nicely for compilation but it gets
annoying in ghci since the warnings are still triggered. We could
disable it everywhere but I think the warning is generally useful. I
tried patching proto3-suite to use DerivingStrategies but that doesn’t
work because haskell-src is dead and doesn’t support it. So for now
adding it to the per-file list seems like the best option.

changelog_begin
changelog_end
2021-01-29 11:01:55 +00:00

22 lines
1.0 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

GHC 8.10 enables -Wderiving-defaults as part of -Wall.
Its a useful warning so we want to keep it. However,
proto3-suite generates code that triggers this warning.
Now ideally, we would just switch proto3-suite over to
DerivingStrategies but unfortunately haskell-src, the library
used to generate the Haskell source, does not support that.
So instead, we disable the warning on a per file basis.
The warning only exists in GHC >= 8.10 so we cannot
upstream this atm.
diff --git a/src/Proto3/Suite/DotProto/Generate.hs b/src/Proto3/Suite/DotProto/Generate.hs
index 566b8a9..fae46a4 100644
--- a/src/Proto3/Suite/DotProto/Generate.hs
+++ b/src/Proto3/Suite/DotProto/Generate.hs
@@ -127,6 +127,7 @@ renderHsModuleForDotProto extraInstanceFiles dotProto importCtxt = do
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
+ {-# OPTIONS_GHC -Wno-deriving-defaults #-}
-- | Generated by Haskell protocol buffer compiler. DO NOT EDIT!
|]