diff options
author | Adam Gundry <adam@well-typed.com> | 2023-03-23 21:21:19 +0000 |
---|---|---|
committer | Adam Gundry <adam@well-typed.com> | 2023-03-24 16:36:43 +0000 |
commit | a2f4dbfd57ec8dc52db9b41761d3b958f6a143d5 (patch) | |
tree | 9525afe3a0b4ac2037921a0ca6d53a355442cdf3 | |
parent | b8d783d24b9a617ad1e3038abeb75d322703ef65 (diff) | |
download | haskell-a2f4dbfd57ec8dc52db9b41761d3b958f6a143d5.tar.gz |
Add `-Wunclassified` warning flag so all warnings have flags (#22757)wip/amg/T22757
In particular this means that warnings without flags, such as those generated
by `reportWarning` in Template Haskell, can still be suppresed using `-w`.
63 files changed, 109 insertions, 82 deletions
diff --git a/compiler/GHC/Driver/Flags.hs b/compiler/GHC/Driver/Flags.hs index df49034d13..82ae334cac 100644 --- a/compiler/GHC/Driver/Flags.hs +++ b/compiler/GHC/Driver/Flags.hs @@ -635,6 +635,7 @@ data WarningFlag = | Opt_WarnTypeEqualityRequiresOperators -- Since 9.4 | Opt_WarnLoopySuperclassSolve -- Since 9.6 | Opt_WarnTermVariableCapture -- Since 9.8 + | Opt_WarnUnclassified -- Since 9.8 deriving (Eq, Ord, Show, Enum) -- | Return the names of a WarningFlag @@ -741,6 +742,7 @@ warnFlagNames wflag = case wflag of Opt_WarnTypeEqualityOutOfScope -> "type-equality-out-of-scope" :| [] Opt_WarnLoopySuperclassSolve -> "loopy-superclass-solve" :| [] Opt_WarnTypeEqualityRequiresOperators -> "type-equality-requires-operators" :| [] + Opt_WarnUnclassified -> "unclassified" :| [] -- ----------------------------------------------------------------------------- -- Standard sets of warning options @@ -879,7 +881,8 @@ standardWarnings -- see Note [Documenting warning flags] Opt_WarnUnicodeBidirectionalFormatCharacters, Opt_WarnGADTMonoLocalBinds, Opt_WarnLoopySuperclassSolve, - Opt_WarnTypeEqualityRequiresOperators + Opt_WarnTypeEqualityRequiresOperators, + Opt_WarnUnclassified ] -- | Things you get with -W diff --git a/compiler/GHC/Types/Error.hs b/compiler/GHC/Types/Error.hs index 0eccf085bb..65bf1a69ba 100644 --- a/compiler/GHC/Types/Error.hs +++ b/compiler/GHC/Types/Error.hs @@ -4,6 +4,7 @@ {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE LambdaCase #-} +{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE AllowAmbiguousTypes #-} {-# LANGUAGE TypeApplications #-} @@ -28,7 +29,7 @@ module GHC.Types.Error , Diagnostic (..) , UnknownDiagnostic (..) , DiagnosticMessage (..) - , DiagnosticReason (..) + , DiagnosticReason (WarningWithoutFlag, ..) , DiagnosticHint (..) , mkPlainDiagnostic , mkPlainError @@ -322,14 +323,12 @@ mkDecoratedError hints docs = DiagnosticMessage (mkDecorated docs) ErrorWithoutF -- can be completely statically-computed (i.e. this is an error or a warning -- no matter what), or influenced by the specific state of the 'DynFlags' at -- the moment of the creation of a new 'Diagnostic'. For example, a parsing --- error is /always/ going to be an error, whereas a 'WarningWithoutFlag +-- error is /always/ going to be an error, whereas a 'WarningWithFlag -- Opt_WarnUnusedImports' might turn into an error due to '-Werror' or -- '-Werror=warn-unused-imports'. Interpreting a 'DiagnosticReason' together -- with its associated 'Severity' gives us the full picture. data DiagnosticReason - = WarningWithoutFlag - -- ^ Born as a warning. - | WarningWithFlag !WarningFlag + = WarningWithFlag !WarningFlag -- ^ Warning was enabled with the flag. | WarningWithCategory !WarningCategory -- ^ Warning was enabled with a custom category. @@ -339,11 +338,17 @@ data DiagnosticReason instance Outputable DiagnosticReason where ppr = \case - WarningWithoutFlag -> text "WarningWithoutFlag" WarningWithFlag wf -> text ("WarningWithFlag " ++ show wf) WarningWithCategory cat -> text "WarningWithCategory" <+> ppr cat ErrorWithoutFlag -> text "ErrorWithoutFlag" +-- | Warnings that do not otherwise have flags to control them are controlled by +-- the @-Wunclassified@ flag. In particular this means that @-w@ can be used to +-- suppress unclassified warnings, as well as @-Werror@ or +-- @-Werror=unclassified@ promoting them to errors. +pattern WarningWithoutFlag :: DiagnosticReason +pattern WarningWithoutFlag = WarningWithFlag Opt_WarnUnclassified + -- | An envelope for GHC's facts about a running program, parameterised over the -- /domain-specific/ (i.e. parsing, typecheck-renaming, etc) diagnostics. -- @@ -511,7 +516,6 @@ mkLocMessageWarningGroups show_warn_groups msg_class locn msg -- The above can happen when displaying an error message -- in a log file, e.g. with -ddump-tc-trace. It should not -- happen otherwise, though. - flag_msg SevError WarningWithoutFlag = Just (col "-Werror") flag_msg SevError (WarningWithFlag wflag) = let name = NE.head (warnFlagNames wflag) in Just $ col ("-W" ++ name) <+> warn_flag_grp (smallestWarningGroups wflag) @@ -523,7 +527,6 @@ mkLocMessageWarningGroups show_warn_groups msg_class locn msg <> comma <+> coloured msg_colour (text "-Werror=" <> ppr cat) flag_msg SevError ErrorWithoutFlag = Nothing - flag_msg SevWarning WarningWithoutFlag = Nothing flag_msg SevWarning (WarningWithFlag wflag) = let name = NE.head (warnFlagNames wflag) in Just (col ("-W" ++ name) <+> warn_flag_grp (smallestWarningGroups wflag)) diff --git a/compiler/GHC/Utils/Error.hs b/compiler/GHC/Utils/Error.hs index 8ea61c6f39..66783daf33 100644 --- a/compiler/GHC/Utils/Error.hs +++ b/compiler/GHC/Utils/Error.hs @@ -142,9 +142,6 @@ diagReasonSeverity opts reason = case reason of | not (diag_wopt_custom wcat opts) -> SevIgnore | diag_fatal_wopt_custom wcat opts -> SevError | otherwise -> SevWarning - WarningWithoutFlag - | diag_warn_is_error opts -> SevError - | otherwise -> SevWarning ErrorWithoutFlag -> SevError diff --git a/docs/users_guide/using-warnings.rst b/docs/users_guide/using-warnings.rst index c7470f7d48..b0e40e281a 100644 --- a/docs/users_guide/using-warnings.rst +++ b/docs/users_guide/using-warnings.rst @@ -78,6 +78,7 @@ as ``-Wno-...`` for every individual warning in the group. * :ghc-flag:`-Wforall-identifier` * :ghc-flag:`-Wgadt-mono-local-binds` * :ghc-flag:`-Wtype-equality-requires-operators` + * :ghc-flag:`-Wunclassified` .. ghc-flag:: -W :shortdesc: enable normal warnings @@ -2397,6 +2398,20 @@ of ``-W(no-)*``. When :ghc-flag:`-Wterm-variable-capture` is enabled, GHC warns against implicit quantification that would stop working under ``RequiredTypeArguments``. +.. ghc-flag:: -Wunclassified + :shortdesc: warn about issues that are not controlled by another flag + :type: dynamic + :reverse: -Wno-unclassified + + :since: 9.8.1 + + :default: on + + There are a variety of warnings that are enabled by default and do not have + a more specific flag to control them. These are grouped under the + :ghc-flag:`-Wunclassified` flag, primarily so that they can be silenced + or selectively promoted to errors. + If you're feeling really paranoid, the :ghc-flag:`-dcore-lint` option is a good choice. It turns on heavyweight intra-pass sanity-checking within GHC. (It checks GHC's diff --git a/testsuite/tests/corelint/LintEtaExpand.stderr b/testsuite/tests/corelint/LintEtaExpand.stderr index 47274d0cc6..3ed66f093b 100644 --- a/testsuite/tests/corelint/LintEtaExpand.stderr +++ b/testsuite/tests/corelint/LintEtaExpand.stderr @@ -1,4 +1,4 @@ -<no location info>: warning: +<no location info>: warning: [-Wunclassified (in -Wdefault)] Cannot eta expand ‘coerce’ The following type does not have a fixed runtime representation: • a :: TYPE k @@ -7,7 +7,7 @@ TvSubst = [] CvSubst = []> in coerce BAD 1 -<no location info>: warning: +<no location info>: warning: [-Wunclassified (in -Wdefault)] Cannot eta expand ‘coerce’ The following type does not have a fixed runtime representation: • a :: TYPE q diff --git a/testsuite/tests/corelint/T21115b.stderr b/testsuite/tests/corelint/T21115b.stderr index 199b999f1f..09671ceecd 100644 --- a/testsuite/tests/corelint/T21115b.stderr +++ b/testsuite/tests/corelint/T21115b.stderr @@ -1,5 +1,5 @@ *** Core Lint errors : in result of Desugar (before optimization) *** -T21115b.hs:9:1: warning: +T21115b.hs:9:1: warning: [-Wunclassified (in -Wdefault)] Lint warning: Scrutinising floating-point expression with literal pattern in case analysis (see #9238). scrut ds In the RHS of foo :: Double# -> Int# diff --git a/testsuite/tests/deSugar/should_compile/T13290.stderr b/testsuite/tests/deSugar/should_compile/T13290.stderr index 013f5ad97b..92638be1f9 100644 --- a/testsuite/tests/deSugar/should_compile/T13290.stderr +++ b/testsuite/tests/deSugar/should_compile/T13290.stderr @@ -1,4 +1,4 @@ -T13290.hs:6:1: warning: [GHC-00828] +T13290.hs:6:1: warning: [GHC-00828] [-Wunclassified (in -Wdefault)] A constructor, Bar, appears as outermost match in RULE lhs. This rule will be ignored. diff --git a/testsuite/tests/dependent/should_compile/T14066a.stderr b/testsuite/tests/dependent/should_compile/T14066a.stderr index 3f3c88a3e6..af468555fd 100644 --- a/testsuite/tests/dependent/should_compile/T14066a.stderr +++ b/testsuite/tests/dependent/should_compile/T14066a.stderr @@ -1,5 +1,5 @@ -T14066a.hs:14:3: warning: +T14066a.hs:14:3: warning: [-Wunclassified (in -Wdefault)] Type family instance equation is overlapped: forall {c} {x :: c} {d} {y :: d}. Bar x y = Bool -- Defined at T14066a.hs:14:3 diff --git a/testsuite/tests/driver/T20436/T20436.stderr b/testsuite/tests/driver/T20436/T20436.stderr index 1fda220263..13f261283f 100644 --- a/testsuite/tests/driver/T20436/T20436.stderr +++ b/testsuite/tests/driver/T20436/T20436.stderr @@ -1,3 +1,3 @@ -when making flags consistent: warning: +when making flags consistent: warning: [-Wunclassified (in -Wdefault)] -dynamic-too is ignored when using -dynamic diff --git a/testsuite/tests/ghc-api/T10052/T10052.stderr b/testsuite/tests/ghc-api/T10052/T10052.stderr index 14d76b9f49..06609ebb1a 100644 --- a/testsuite/tests/ghc-api/T10052/T10052.stderr +++ b/testsuite/tests/ghc-api/T10052/T10052.stderr @@ -1,3 +1,3 @@ -when making flags consistent: warning: +when making flags consistent: warning: [-Wunclassified] Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. diff --git a/testsuite/tests/ghci.debugger/scripts/print007.stderr b/testsuite/tests/ghci.debugger/scripts/print007.stderr index 14d76b9f49..077c917c27 100644 --- a/testsuite/tests/ghci.debugger/scripts/print007.stderr +++ b/testsuite/tests/ghci.debugger/scripts/print007.stderr @@ -1,3 +1,3 @@ -when making flags consistent: warning: +when making flags consistent: warning: [-Wunclassified (in -Wdefault)] Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. diff --git a/testsuite/tests/ghci/scripts/StaticPtr.stderr b/testsuite/tests/ghci/scripts/StaticPtr.stderr index 7975283219..46a7e5c598 100644 --- a/testsuite/tests/ghci/scripts/StaticPtr.stderr +++ b/testsuite/tests/ghci/scripts/StaticPtr.stderr @@ -1,3 +1,3 @@ -<interactive>: warning: [GHC-77799] +<interactive>: warning: [GHC-77799] [-Wunclassified (in -Wdefault)] StaticPointers is not supported in GHCi interactive expressions. diff --git a/testsuite/tests/ghci/should_fail/T10549.stderr b/testsuite/tests/ghci/should_fail/T10549.stderr index 14d76b9f49..077c917c27 100644 --- a/testsuite/tests/ghci/should_fail/T10549.stderr +++ b/testsuite/tests/ghci/should_fail/T10549.stderr @@ -1,3 +1,3 @@ -when making flags consistent: warning: +when making flags consistent: warning: [-Wunclassified (in -Wdefault)] Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. diff --git a/testsuite/tests/ghci/should_fail/T10549a.stderr b/testsuite/tests/ghci/should_fail/T10549a.stderr index 14d76b9f49..077c917c27 100644 --- a/testsuite/tests/ghci/should_fail/T10549a.stderr +++ b/testsuite/tests/ghci/should_fail/T10549a.stderr @@ -1,3 +1,3 @@ -when making flags consistent: warning: +when making flags consistent: warning: [-Wunclassified (in -Wdefault)] Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. diff --git a/testsuite/tests/indexed-types/should_compile/T9085.stderr b/testsuite/tests/indexed-types/should_compile/T9085.stderr index 79ecd91e28..52e5152d87 100644 --- a/testsuite/tests/indexed-types/should_compile/T9085.stderr +++ b/testsuite/tests/indexed-types/should_compile/T9085.stderr @@ -1,4 +1,4 @@ -T9085.hs:7:3: Warning: +T9085.hs:7:3: warning: [-Wunclassified (in -Wdefault)] Type family instance equation is overlapped: F Bool = Bool -- Defined at T9085.hs:7:3 diff --git a/testsuite/tests/parser/should_compile/OpaqueParseWarn1.stderr b/testsuite/tests/parser/should_compile/OpaqueParseWarn1.stderr index 01f62eb39d..8a34329a24 100644 --- a/testsuite/tests/parser/should_compile/OpaqueParseWarn1.stderr +++ b/testsuite/tests/parser/should_compile/OpaqueParseWarn1.stderr @@ -1,3 +1,3 @@ -OpaqueParseWarn1.hs:6:1: warning: [GHC-38524] +OpaqueParseWarn1.hs:6:1: warning: [GHC-38524] [-Wunclassified (in -Wdefault)] Ignoring useless SPECIALISE pragma for NOINLINE function: ‘f’ diff --git a/testsuite/tests/plugins/T19926.stderr b/testsuite/tests/plugins/T19926.stderr index e454ba4543..6577e67e5f 100644 --- a/testsuite/tests/plugins/T19926.stderr +++ b/testsuite/tests/plugins/T19926.stderr @@ -2,5 +2,5 @@ T19926.hs:3:17: warning: [-Wunsafe] ‘T19926’ has been inferred as unsafe! Reason: - <no location info>: warning: [GHC-01687] + <no location info>: warning: [GHC-01687] [-Wunclassified (in -Wdefault)] Use of plugins makes the module unsafe diff --git a/testsuite/tests/pmcheck/should_compile/TooManyDeltas.stderr b/testsuite/tests/pmcheck/should_compile/TooManyDeltas.stderr index b6092fa8ec..5a180e6acc 100644 --- a/testsuite/tests/pmcheck/should_compile/TooManyDeltas.stderr +++ b/testsuite/tests/pmcheck/should_compile/TooManyDeltas.stderr @@ -3,7 +3,7 @@ TooManyDeltas.hs:14:1: warning: [GHC-62161] [-Wincomplete-patterns (in -Wextra)] Pattern match(es) are non-exhaustive In an equation for ‘f’: Patterns of type ‘T’, ‘T’ not matched: _ _ -TooManyDeltas.hs:14:1: warning: [GHC-61505] +TooManyDeltas.hs:14:1: warning: [GHC-61505] [-Wunclassified (in -Wdefault)] Pattern match checker ran into -fmax-pmcheck-models=0 limit, so • Redundant clauses might not be reported at all • Redundant clauses might be reported as inaccessible @@ -11,7 +11,7 @@ TooManyDeltas.hs:14:1: warning: [GHC-61505] Suggested fix: Increase the limit or resolve the warnings to suppress this message. -TooManyDeltas.hs:19:1: warning: [GHC-61505] +TooManyDeltas.hs:19:1: warning: [GHC-61505] [-Wunclassified (in -Wdefault)] Pattern match checker ran into -fmax-pmcheck-models=0 limit, so • Redundant clauses might not be reported at all • Redundant clauses might be reported as inaccessible diff --git a/testsuite/tests/rename/should_compile/rn049.stderr b/testsuite/tests/rename/should_compile/rn049.stderr index 5c13eb3936..6812c2a2db 100644 --- a/testsuite/tests/rename/should_compile/rn049.stderr +++ b/testsuite/tests/rename/should_compile/rn049.stderr @@ -1,5 +1,5 @@ -rn049.hs:12:6: warning: [GHC-59119] +rn049.hs:12:6: warning: [GHC-59119] [-Wunclassified (in -Wdefault)] accepting non-standard pattern guards x <- 1 * 2 + 3 * 4 Suggested fix: Perhaps you intended to use PatternGuards diff --git a/testsuite/tests/safeHaskell/check/Check05.stderr b/testsuite/tests/safeHaskell/check/Check05.stderr index c14f8c02b2..37fe038460 100644 --- a/testsuite/tests/safeHaskell/check/Check05.stderr +++ b/testsuite/tests/safeHaskell/check/Check05.stderr @@ -1,3 +1,3 @@ -Check05.hs:1:17: - Warning: -fpackage-trust ignored; must be specified with a Safe Haskell flag +Check05.hs:1:17: warning: [-Wunclassified (in -Wdefault)] + -fpackage-trust ignored; must be specified with a Safe Haskell flag diff --git a/testsuite/tests/safeHaskell/flags/SafeFlags18.stderr b/testsuite/tests/safeHaskell/flags/SafeFlags18.stderr index 603cb636a7..7277dafff3 100644 --- a/testsuite/tests/safeHaskell/flags/SafeFlags18.stderr +++ b/testsuite/tests/safeHaskell/flags/SafeFlags18.stderr @@ -1,3 +1,3 @@ -SafeFlags18.hs:1:17: error: [-Werror] +SafeFlags18.hs:1:17: error: [-Wunclassified (in -Wdefault), Werror=unclassified] -fpackage-trust ignored; must be specified with a Safe Haskell flag diff --git a/testsuite/tests/safeHaskell/ghci/p1.stderr b/testsuite/tests/safeHaskell/ghci/p1.stderr index 9446e1df16..f6e0c180e2 100644 --- a/testsuite/tests/safeHaskell/ghci/p1.stderr +++ b/testsuite/tests/safeHaskell/ghci/p1.stderr @@ -1,6 +1,6 @@ -<no location info>: Warning: +<no location info>: warning: [-Wunclassified (in -Wdefault)] -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell -<no location info>: Warning: +<no location info>: warning: [-Wunclassified (in -Wdefault)] -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving diff --git a/testsuite/tests/safeHaskell/ghci/p14.stderr b/testsuite/tests/safeHaskell/ghci/p14.stderr index 0f6f65975c..8fb2fec39c 100644 --- a/testsuite/tests/safeHaskell/ghci/p14.stderr +++ b/testsuite/tests/safeHaskell/ghci/p14.stderr @@ -1,5 +1,5 @@ -when making flags consistent: warning: +when making flags consistent: warning: [-Wunclassified (in -Wdefault)] Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. <interactive>:10:25: error: [GHC-39999] diff --git a/testsuite/tests/safeHaskell/ghci/p16.stderr b/testsuite/tests/safeHaskell/ghci/p16.stderr index f915af1f1b..7f4e8102eb 100644 --- a/testsuite/tests/safeHaskell/ghci/p16.stderr +++ b/testsuite/tests/safeHaskell/ghci/p16.stderr @@ -1,5 +1,5 @@ -<no location info>: warning: +<no location info>: warning: [-Wunclassified (in -Wdefault)] -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving <interactive>:16:29: error: [GHC-82023] diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.stderr b/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.stderr index 7d9acc9552..0f63175da6 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.stderr +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap11.stderr @@ -5,7 +5,7 @@ SH_Overlap11.hs:2:17: warning: [-Wunsafe] ‘SH_Overlap11’ has been inferred as unsafe! Reason: - SH_Overlap11.hs:18:8: warning: [GHC-36705] + SH_Overlap11.hs:18:8: warning: [GHC-36705] [-Wunclassified (in -Wdefault)] • Unsafe overlapping instances for C [Int] arising from a use of ‘f’ The matching instance is: diff --git a/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.stderr b/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.stderr index 3a719cb0b4..95b0a16dcd 100644 --- a/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.stderr +++ b/testsuite/tests/safeHaskell/overlapping/SH_Overlap7.stderr @@ -5,7 +5,7 @@ SH_Overlap7.hs:2:17: error: [-Wunsafe, Werror=unsafe] ‘SH_Overlap7’ has been inferred as unsafe! Reason: - SH_Overlap7.hs:15:8: error: [GHC-36705] [-Werror] + SH_Overlap7.hs:15:8: error: [GHC-36705] [-Wunclassified (in -Wdefault), Werror=unclassified] • Unsafe overlapping instances for C [Int] arising from a use of ‘f’ The matching instance is: diff --git a/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered11.stderr b/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered11.stderr index 9b7e910d91..3091846410 100644 --- a/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered11.stderr +++ b/testsuite/tests/safeHaskell/safeInfered/UnsafeInfered11.stderr @@ -2,7 +2,7 @@ UnsafeInfered11_A.hs:2:17: warning: [-Wunsafe] ‘UnsafeInfered11_A’ has been inferred as unsafe! Reason: - UnsafeInfered11_A.hs:18:11: warning: [GHC-56147] + UnsafeInfered11_A.hs:18:11: warning: [GHC-56147] [-Wunclassified (in -Wdefault)] Rule "lookupx/T" ignored Defining user rules is disabled under Safe Haskell diff --git a/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn05.stderr b/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn05.stderr index 3d07f34867..a7402b8e1c 100644 --- a/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn05.stderr +++ b/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn05.stderr @@ -9,6 +9,6 @@ UnsafeWarn05.hs:5:17: warning: [-Wunsafe] UnsafeWarn05.hs:5:17: warning: [-Wunsafe] ‘UnsafeWarn05’ has been inferred as unsafe! Reason: - UnsafeWarn05.hs:16:11: warning: [GHC-56147] + UnsafeWarn05.hs:16:11: warning: [GHC-56147] [-Wunclassified (in -Wdefault)] Rule "g" ignored Defining user rules is disabled under Safe Haskell diff --git a/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn06.stderr b/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn06.stderr index d1a64dc4fe..96bac51c9a 100644 --- a/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn06.stderr +++ b/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn06.stderr @@ -2,6 +2,6 @@ UnsafeWarn06.hs:4:17: warning: [-Wunsafe] ‘UnsafeWarn06’ has been inferred as unsafe! Reason: - UnsafeWarn06.hs:9:11: warning: [GHC-56147] + UnsafeWarn06.hs:9:11: warning: [GHC-56147] [-Wunclassified (in -Wdefault)] Rule "f" ignored Defining user rules is disabled under Safe Haskell diff --git a/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn07.stderr b/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn07.stderr index 88f5e4ea5d..27d395650c 100644 --- a/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn07.stderr +++ b/testsuite/tests/safeHaskell/safeInfered/UnsafeWarn07.stderr @@ -2,6 +2,6 @@ UnsafeWarn07.hs:5:17: warning: [-Wunsafe] ‘UnsafeWarn07’ has been inferred as unsafe! Reason: - UnsafeWarn07.hs:10:11: warning: [GHC-56147] + UnsafeWarn07.hs:10:11: warning: [GHC-56147] [-Wunclassified (in -Wdefault)] Rule "f" ignored Defining user rules is disabled under Safe Haskell diff --git a/testsuite/tests/safeHaskell/safeLanguage/SafeLang01.stderr b/testsuite/tests/safeHaskell/safeLanguage/SafeLang01.stderr index 1fb5ec66bb..fb4764aad1 100644 --- a/testsuite/tests/safeHaskell/safeLanguage/SafeLang01.stderr +++ b/testsuite/tests/safeHaskell/safeLanguage/SafeLang01.stderr @@ -1,3 +1,3 @@ -SafeLang01.hs:2:20: warning: +SafeLang01.hs:2:20: warning: [-Wunclassified (in -Wdefault)] -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell diff --git a/testsuite/tests/safeHaskell/safeLanguage/SafeLang02.stderr b/testsuite/tests/safeHaskell/safeLanguage/SafeLang02.stderr index 069e5be4e9..ab1fe79d35 100644 --- a/testsuite/tests/safeHaskell/safeLanguage/SafeLang02.stderr +++ b/testsuite/tests/safeHaskell/safeLanguage/SafeLang02.stderr @@ -1,3 +1,3 @@ -SafeLang02.hs:1:20: - Warning: -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving +SafeLang02.hs:1:20: warning: [-Wunclassified (in -Wdefault)] + -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving diff --git a/testsuite/tests/safeHaskell/safeLanguage/SafeLang03.stderr b/testsuite/tests/safeHaskell/safeLanguage/SafeLang03.stderr index 353c1bb45e..732c2bd03d 100644 --- a/testsuite/tests/safeHaskell/safeLanguage/SafeLang03.stderr +++ b/testsuite/tests/safeHaskell/safeLanguage/SafeLang03.stderr @@ -1,4 +1,4 @@ -SafeLang03.hs:8:11: warning: [GHC-56147] +SafeLang03.hs:8:11: warning: [GHC-56147] [-Wunclassified (in -Wdefault)] Rule "f" ignored Defining user rules is disabled under Safe Haskell diff --git a/testsuite/tests/safeHaskell/safeLanguage/SafeLang07.stderr b/testsuite/tests/safeHaskell/safeLanguage/SafeLang07.stderr index acfb8de460..939f284ec1 100644 --- a/testsuite/tests/safeHaskell/safeLanguage/SafeLang07.stderr +++ b/testsuite/tests/safeHaskell/safeLanguage/SafeLang07.stderr @@ -1,5 +1,5 @@ -SafeLang07.hs:2:14: warning: +SafeLang07.hs:2:14: warning: [-Wunclassified (in -Wdefault)] -XGeneralizedNewtypeDeriving is not allowed in Safe Haskell; ignoring -XGeneralizedNewtypeDeriving SafeLang07.hs:15:1: error: diff --git a/testsuite/tests/safeHaskell/safeLanguage/SafeLang12.stderr b/testsuite/tests/safeHaskell/safeLanguage/SafeLang12.stderr index 2239f73d8f..ef310aa591 100644 --- a/testsuite/tests/safeHaskell/safeLanguage/SafeLang12.stderr +++ b/testsuite/tests/safeHaskell/safeLanguage/SafeLang12.stderr @@ -1,8 +1,8 @@ -SafeLang12.hs:3:14: warning: +SafeLang12.hs:3:14: warning: [-Wunclassified (in -Wdefault)] -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell -SafeLang12_B.hs:3:14: warning: +SafeLang12_B.hs:3:14: warning: [-Wunclassified (in -Wdefault)] -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell [1 of 4] Compiling SafeLang12_A ( SafeLang12_A.hs, SafeLang12_A.o ) [2 of 4] Compiling SafeLang12_B ( SafeLang12_B.hs, SafeLang12_B.o ) diff --git a/testsuite/tests/safeHaskell/safeLanguage/SafeLang16.stderr b/testsuite/tests/safeHaskell/safeLanguage/SafeLang16.stderr index 5aaab72d8a..f215c72cdf 100644 --- a/testsuite/tests/safeHaskell/safeLanguage/SafeLang16.stderr +++ b/testsuite/tests/safeHaskell/safeLanguage/SafeLang16.stderr @@ -1,3 +1,3 @@ -SafeLang16.hs:2:14: warning: +SafeLang16.hs:2:14: warning: [-Wunclassified (in -Wdefault)] -XTemplateHaskell is not allowed in Safe Haskell; ignoring -XTemplateHaskell diff --git a/testsuite/tests/safeHaskell/safeLanguage/SafeLang19.stderr b/testsuite/tests/safeHaskell/safeLanguage/SafeLang19.stderr index 1dbe65d156..dec82d9535 100644 --- a/testsuite/tests/safeHaskell/safeLanguage/SafeLang19.stderr +++ b/testsuite/tests/safeHaskell/safeLanguage/SafeLang19.stderr @@ -1,3 +1,3 @@ -SafeLang19.hs:2:20: warning: +SafeLang19.hs:2:20: warning: [-Wunclassified (in -Wdefault)] -XDerivingVia is not allowed in Safe Haskell; ignoring -XDerivingVia diff --git a/testsuite/tests/simplCore/should_compile/T4398.stderr b/testsuite/tests/simplCore/should_compile/T4398.stderr index 04b2db98e6..a80fd6e40a 100644 --- a/testsuite/tests/simplCore/should_compile/T4398.stderr +++ b/testsuite/tests/simplCore/should_compile/T4398.stderr @@ -1,5 +1,5 @@ -T4398.hs:6:11: warning: [GHC-40548] +T4398.hs:6:11: warning: [GHC-40548] [-Wunclassified (in -Wdefault)] Forall'd constraint ‘Ord a’ is not bound in RULE lhs Orig bndrs: [a, $dOrd, x, y] Orig lhs: f @a ((\ ($dOrd :: Ord a) -> x) $dOrd) y diff --git a/testsuite/tests/simplCore/should_compile/T8537.stderr b/testsuite/tests/simplCore/should_compile/T8537.stderr index 8d85318f06..427ac9818c 100644 --- a/testsuite/tests/simplCore/should_compile/T8537.stderr +++ b/testsuite/tests/simplCore/should_compile/T8537.stderr @@ -1,3 +1,3 @@ -T8537.hs:20:5: warning: [GHC-35827] +T8537.hs:20:5: warning: [GHC-35827] [-Wunclassified (in -Wdefault)] SPECIALISE pragma for non-overloaded function ‘fmap’ diff --git a/testsuite/tests/simplCore/should_compile/simpl016.stderr b/testsuite/tests/simplCore/should_compile/simpl016.stderr index 75f9072d55..60272a626f 100644 --- a/testsuite/tests/simplCore/should_compile/simpl016.stderr +++ b/testsuite/tests/simplCore/should_compile/simpl016.stderr @@ -1,5 +1,5 @@ -simpl016.hs:7:1: warning: [GHC-40548] +simpl016.hs:7:1: warning: [GHC-40548] [-Wunclassified (in -Wdefault)] Forall'd constraint ‘Num b’ is not bound in RULE lhs Orig bndrs: [b, $dNum] Orig lhs: let { diff --git a/testsuite/tests/stage1/T13609.stderr b/testsuite/tests/stage1/T13609.stderr index 8be57f385a..ee2a99a168 100644 --- a/testsuite/tests/stage1/T13609.stderr +++ b/testsuite/tests/stage1/T13609.stderr @@ -1,3 +1,3 @@ -T13609.hs:3:1: warning: [GHC-66649] +T13609.hs:3:1: warning: [GHC-66649] [-Wunclassified (in -Wdefault)] Ignoring ANN annotation, because this is a stage-1 compiler without -fexternal-interpreter or doesn't support GHCi diff --git a/testsuite/tests/th/ClosedFam1TH.stderr b/testsuite/tests/th/ClosedFam1TH.stderr index bc00cc8eff..e364ebdf9e 100644 --- a/testsuite/tests/th/ClosedFam1TH.stderr +++ b/testsuite/tests/th/ClosedFam1TH.stderr @@ -1,5 +1,5 @@ -ClosedFam1TH.hs:7:2: warning: [GHC-39584] +ClosedFam1TH.hs:7:2: warning: [GHC-39584] [-Wunclassified (in -Wdefault)] type family Foo_0 a_1 (b_2 :: k_3) where Foo_0 GHC.Types.Int GHC.Types.Bool = GHC.Types.Int Foo_0 a_4 GHC.Maybe.Maybe = GHC.Types.Bool diff --git a/testsuite/tests/th/T7477.stderr b/testsuite/tests/th/T7477.stderr index 0fd6f4fc3b..3ed8dab09c 100644 --- a/testsuite/tests/th/T7477.stderr +++ b/testsuite/tests/th/T7477.stderr @@ -1,3 +1,3 @@ -T7477.hs:10:2: warning: [GHC-39584] +T7477.hs:10:2: warning: [GHC-39584] [-Wunclassified (in -Wdefault)] type instance T7477.F GHC.Types.Int = GHC.Types.Bool diff --git a/testsuite/tests/th/T8333.stderr b/testsuite/tests/th/T8333.stderr index 14d76b9f49..077c917c27 100644 --- a/testsuite/tests/th/T8333.stderr +++ b/testsuite/tests/th/T8333.stderr @@ -1,3 +1,3 @@ -when making flags consistent: warning: +when making flags consistent: warning: [-Wunclassified (in -Wdefault)] Optimization flags are incompatible with the byte-code interpreter; optimization flags ignored. diff --git a/testsuite/tests/th/T8759.stderr b/testsuite/tests/th/T8759.stderr index 2e551478ae..67b284ef45 100644 --- a/testsuite/tests/th/T8759.stderr +++ b/testsuite/tests/th/T8759.stderr @@ -1,3 +1,3 @@ -T8759.hs:9:2: warning: [GHC-39584] +T8759.hs:9:2: warning: [GHC-39584] [-Wunclassified (in -Wdefault)] PatSynI T8759.P (ForallT [] [] (ForallT [] [] (TupleT 0))) diff --git a/testsuite/tests/th/TH_PromotedList.stderr b/testsuite/tests/th/TH_PromotedList.stderr index 093924b3ae..529f035681 100644 --- a/testsuite/tests/th/TH_PromotedList.stderr +++ b/testsuite/tests/th/TH_PromotedList.stderr @@ -1,3 +1,3 @@ -TH_PromotedList.hs:11:2: warning: [GHC-39584] +TH_PromotedList.hs:11:2: warning: [GHC-39584] [-Wunclassified (in -Wdefault)] '(:) GHC.Types.Int ('(:) GHC.Types.Bool '[]) diff --git a/testsuite/tests/th/TH_PromotedTuple.stderr b/testsuite/tests/th/TH_PromotedTuple.stderr index 4579f76c2b..20ace33c60 100644 --- a/testsuite/tests/th/TH_PromotedTuple.stderr +++ b/testsuite/tests/th/TH_PromotedTuple.stderr @@ -5,5 +5,5 @@ TH_PromotedTuple.hs:(14,31)-(16,44): Splicing type ======> '(Int, 'False) -TH_PromotedTuple.hs:14:31: warning: [GHC-39584] +TH_PromotedTuple.hs:14:31: warning: [GHC-39584] [-Wunclassified (in -Wdefault)] AppT (AppT (PromotedTupleT 2) (ConT GHC.Types.Int)) (PromotedT GHC.Types.False) diff --git a/testsuite/tests/th/TH_RichKinds.stderr b/testsuite/tests/th/TH_RichKinds.stderr index cb8cbb9f34..d50a8a7a96 100644 --- a/testsuite/tests/th/TH_RichKinds.stderr +++ b/testsuite/tests/th/TH_RichKinds.stderr @@ -1,5 +1,5 @@ -TH_RichKinds.hs:12:2: warning: [GHC-39584] +TH_RichKinds.hs:12:2: warning: [GHC-39584] [-Wunclassified (in -Wdefault)] forall a_0 . (a_0 :: GHC.Types.Bool) forall a_1 . (a_1 :: Constraint) forall a_2 . (a_2 :: [*]) diff --git a/testsuite/tests/th/TH_RichKinds2.stderr b/testsuite/tests/th/TH_RichKinds2.stderr index 89b7279114..3f983599d3 100644 --- a/testsuite/tests/th/TH_RichKinds2.stderr +++ b/testsuite/tests/th/TH_RichKinds2.stderr @@ -1,5 +1,5 @@ -TH_RichKinds2.hs:25:2: warning: [GHC-39584] +TH_RichKinds2.hs:25:2: warning: [GHC-39584] [-Wunclassified (in -Wdefault)] data SMaybe_0 :: (k_0 -> *) -> GHC.Maybe.Maybe k_0 -> * where SNothing_2 :: SMaybe_0 s_3 'GHC.Maybe.Nothing SJust_4 :: (s_5 a_6) -> SMaybe_0 s_5 ('GHC.Maybe.Just a_6) diff --git a/testsuite/tests/th/TH_TyInstWhere2.stderr b/testsuite/tests/th/TH_TyInstWhere2.stderr index b0827881d5..7d540ce3dc 100644 --- a/testsuite/tests/th/TH_TyInstWhere2.stderr +++ b/testsuite/tests/th/TH_TyInstWhere2.stderr @@ -1,10 +1,10 @@ -TH_TyInstWhere2.hs:8:2: warning: [GHC-39584] +TH_TyInstWhere2.hs:8:2: warning: [GHC-39584] [-Wunclassified (in -Wdefault)] type family F_0 (a_1 :: k_2) (b_3 :: k_2) :: GHC.Types.Bool where F_0 a_4 a_4 = 'GHC.Types.True F_0 a_5 b_6 = 'GHC.Types.False -TH_TyInstWhere2.hs:14:2: warning: [GHC-39584] +TH_TyInstWhere2.hs:14:2: warning: [GHC-39584] [-Wunclassified (in -Wdefault)] type family F1_0 (a_1 :: k_2) :: * where F1_0 @(*) GHC.Types.Int = GHC.Types.Bool F1_0 @GHC.Types.Bool 'GHC.Types.False = GHC.Types.Char diff --git a/testsuite/tests/th/TH_finalizer.stderr b/testsuite/tests/th/TH_finalizer.stderr index dedb26ff3f..55d8bc0794 100644 --- a/testsuite/tests/th/TH_finalizer.stderr +++ b/testsuite/tests/th/TH_finalizer.stderr @@ -1,2 +1,3 @@ -TH_finalizer.hs:1:1: warning: [GHC-39584] Just True +TH_finalizer.hs:1:1: warning: [GHC-39584] [-Wunclassified (in -Wdefault)] + Just True diff --git a/testsuite/tests/typecheck/should_compile/T10504.stderr b/testsuite/tests/typecheck/should_compile/T10504.stderr index ed8b83514b..b8855a114a 100644 --- a/testsuite/tests/typecheck/should_compile/T10504.stderr +++ b/testsuite/tests/typecheck/should_compile/T10504.stderr @@ -1,3 +1,3 @@ -T10504.hs:5:1: warning: [GHC-35827] +T10504.hs:5:1: warning: [GHC-35827] [-Wunclassified (in -Wdefault)] SPECIALISE pragma for non-overloaded function ‘myfun’ diff --git a/testsuite/tests/typecheck/should_compile/T6018.stderr b/testsuite/tests/typecheck/should_compile/T6018.stderr index 9423a0e706..71768c9cf0 100644 --- a/testsuite/tests/typecheck/should_compile/T6018.stderr +++ b/testsuite/tests/typecheck/should_compile/T6018.stderr @@ -2,10 +2,10 @@ [2 of 3] Compiling T6018a ( T6018a.hs, T6018a.o ) [3 of 3] Compiling T6018 ( T6018.hs, T6018.o ) -T6018.hs:109:5: warning: +T6018.hs:109:5: warning: [-Wunclassified (in -Wdefault)] Type family instance equation is overlapped: Foo Bool = Bool -- Defined at T6018.hs:109:5 -T6018.hs:116:5: warning: +T6018.hs:116:5: warning: [-Wunclassified (in -Wdefault)] Type family instance equation is overlapped: Bar Bool = Char -- Defined at T6018.hs:116:5 diff --git a/testsuite/tests/typecheck/should_compile/T7050.stderr b/testsuite/tests/typecheck/should_compile/T7050.stderr index e115954bc8..dfd9539339 100644 --- a/testsuite/tests/typecheck/should_compile/T7050.stderr +++ b/testsuite/tests/typecheck/should_compile/T7050.stderr @@ -1,5 +1,5 @@ -T7050.hs:3:14: warning: +T7050.hs:3:14: warning: [-Wunclassified (in -Wdefault)] • Ignoring unusable UNPACK pragma on the first argument of ‘Foo’ • In the definition of data constructor ‘Foo’ In the data type declaration for ‘Foo’ diff --git a/testsuite/tests/typecheck/should_compile/T7562.stderr b/testsuite/tests/typecheck/should_compile/T7562.stderr index 9c1b846b91..156689cecb 100644 --- a/testsuite/tests/typecheck/should_compile/T7562.stderr +++ b/testsuite/tests/typecheck/should_compile/T7562.stderr @@ -1,5 +1,5 @@ -T7562.hs:3:14: warning: +T7562.hs:3:14: warning: [-Wunclassified (in -Wdefault)] • UNPACK pragma lacks '!' on the first argument of ‘Pair2’ • In the definition of data constructor ‘Pair2’ In the data type declaration for ‘Pair2’ diff --git a/testsuite/tests/typecheck/should_compile/tc265.stderr b/testsuite/tests/typecheck/should_compile/tc265.stderr index 24aeed0392..ff36184b7b 100644 --- a/testsuite/tests/typecheck/should_compile/tc265.stderr +++ b/testsuite/tests/typecheck/should_compile/tc265.stderr @@ -1,4 +1,4 @@ -tc265.hs:8:3: warning: +tc265.hs:8:3: warning: [-Wunclassified (in -Wdefault)] Type family instance equation is overlapped: F (T Int) = Bool -- Defined at tc265.hs:8:3 diff --git a/testsuite/tests/typecheck/should_fail/T14761a.stderr b/testsuite/tests/typecheck/should_fail/T14761a.stderr index 867cf6dae6..03748a779d 100644 --- a/testsuite/tests/typecheck/should_fail/T14761a.stderr +++ b/testsuite/tests/typecheck/should_fail/T14761a.stderr @@ -1,15 +1,15 @@ -T14761a.hs:13:10: error: [-Werror] +T14761a.hs:13:10: error: [-Wunclassified (in -Wdefault), Werror=unclassified] • UNPACK pragma lacks '!' on the first argument of ‘A’ • In the definition of data constructor ‘A’ In the data type declaration for ‘A’ -T14761a.hs:17:10: error: [-Werror] +T14761a.hs:17:10: error: [-Wunclassified (in -Wdefault), Werror=unclassified] • UNPACK pragma lacks '!' on the first argument of ‘B’ • In the definition of data constructor ‘B’ In the data type declaration for ‘B’ -T14761a.hs:20:3: error: [-Werror] +T14761a.hs:20:3: error: [-Wunclassified (in -Wdefault), Werror=unclassified] • UNPACK pragma lacks '!' on the first argument of ‘MkG2’ • In the definition of data constructor ‘MkG2’ In the data type declaration for ‘G’ diff --git a/testsuite/tests/typecheck/should_fail/T3966.stderr b/testsuite/tests/typecheck/should_fail/T3966.stderr index cab45c21e6..6c3a4735a2 100644 --- a/testsuite/tests/typecheck/should_fail/T3966.stderr +++ b/testsuite/tests/typecheck/should_fail/T3966.stderr @@ -1,5 +1,5 @@ -T3966.hs:5:16: error: [-Werror] +T3966.hs:5:16: error: [-Wunclassified (in -Wdefault), Werror=unclassified] • Ignoring unusable UNPACK pragma on the first argument of ‘Foo’ • In the definition of data constructor ‘Foo’ In the data type declaration for ‘Foo’ diff --git a/testsuite/tests/unboxedsums/unpack_sums_5.stderr b/testsuite/tests/unboxedsums/unpack_sums_5.stderr index 96e786895a..450513b96b 100644 --- a/testsuite/tests/unboxedsums/unpack_sums_5.stderr +++ b/testsuite/tests/unboxedsums/unpack_sums_5.stderr @@ -1,10 +1,10 @@ -unpack_sums_5.hs:4:22: warning: +unpack_sums_5.hs:4:22: warning: [-Wunclassified (in -Wdefault)] • Ignoring unusable UNPACK pragma on the first argument of ‘JustT’ • In the definition of data constructor ‘JustT’ In the data type declaration for ‘SMaybeT’ -unpack_sums_5.hs:7:10: warning: +unpack_sums_5.hs:7:10: warning: [-Wunclassified (in -Wdefault)] • Ignoring unusable UNPACK pragma on the first argument of ‘MkT’ • In the definition of data constructor ‘MkT’ In the data type declaration for ‘T’ diff --git a/testsuite/tests/warnings/minimal/WarnMinimal.stderr b/testsuite/tests/warnings/minimal/WarnMinimal.stderr index 06389aa3c6..7ea6f79815 100644 --- a/testsuite/tests/warnings/minimal/WarnMinimal.stderr +++ b/testsuite/tests/warnings/minimal/WarnMinimal.stderr @@ -24,19 +24,19 @@ WarnMinimal.hs:79:10: warning: [GHC-06201] [-Wmissing-methods (in -Wdefault)] ‘return'’ and (either (‘fmap'’ and ‘join'’) or ‘bind'’) • In the instance declaration for ‘Monad' Id3’ -WarnMinimal.hs:84:1: warning: [GHC-13511] +WarnMinimal.hs:84:1: warning: [GHC-13511] [-Wunclassified (in -Wdefault)] • The MINIMAL pragma does not require: ‘cheater’ but there is no default implementation. • In the class declaration for ‘Cheater’ -WarnMinimal.hs:88:1: warning: [GHC-13511] +WarnMinimal.hs:88:1: warning: [GHC-13511] [-Wunclassified (in -Wdefault)] • The MINIMAL pragma does not require: ‘_cheater2’ but there is no default implementation. • In the class declaration for ‘Cheater2’ -WarnMinimal.hs:92:1: warning: [GHC-13511] +WarnMinimal.hs:92:1: warning: [GHC-13511] [-Wunclassified (in -Wdefault)] • The MINIMAL pragma does not require: ‘cheater3b’ but there is no default implementation. diff --git a/testsuite/tests/warnings/should_compile/T19296.stderr b/testsuite/tests/warnings/should_compile/T19296.stderr index 1fb1f7fe13..29dc7ef6c2 100644 --- a/testsuite/tests/warnings/should_compile/T19296.stderr +++ b/testsuite/tests/warnings/should_compile/T19296.stderr @@ -25,7 +25,7 @@ T19296.hs:13:6: warning: [GHC-30606] [-Wredundant-constraints] 13 | h :: (Eq a, Ord b) => a -> b -> b | ^^^^^^^^^^^^^ -T19296.hs:21:1: warning: [GHC-40548] +T19296.hs:21:1: warning: [GHC-40548] [-Wunclassified (in -Wdefault)] Forall'd constraint ‘Eq a’ is not bound in RULE lhs Orig bndrs: [a, $dEq] Orig lhs: let { diff --git a/testsuite/tests/warnings/should_compile/T22757.hs b/testsuite/tests/warnings/should_compile/T22757.hs new file mode 100644 index 0000000000..2f954eed7c --- /dev/null +++ b/testsuite/tests/warnings/should_compile/T22757.hs @@ -0,0 +1,7 @@ +{-# LANGUAGE TemplateHaskell #-} +{-# OPTIONS_GHC -w #-} +module T22757 where + +import Language.Haskell.TH + +reportWarning "should be suppressed" >> pure [] diff --git a/testsuite/tests/warnings/should_compile/all.T b/testsuite/tests/warnings/should_compile/all.T index 9fe8b99787..29cf646185 100644 --- a/testsuite/tests/warnings/should_compile/all.T +++ b/testsuite/tests/warnings/should_compile/all.T @@ -56,3 +56,4 @@ test('T20312', normal, compile,['-Wall']) test('T22151', normal, compile, ['-Wredundant-constraints']) test('T22759', normal, compile, ['']) test('T22676', [extra_files(['src'])], multimod_compile, ['src.hs', '-working-dir src -Wmissing-home-modules -v0']) +test('T22757', req_interp, compile, ['']) |