summaryrefslogtreecommitdiff
path: root/compiler/GHC/Tc
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/GHC/Tc')
-rw-r--r--compiler/GHC/Tc/Errors/Ppr.hs15
-rw-r--r--compiler/GHC/Tc/Module.hs4
-rw-r--r--compiler/GHC/Tc/Utils/Monad.hs6
3 files changed, 20 insertions, 5 deletions
diff --git a/compiler/GHC/Tc/Errors/Ppr.hs b/compiler/GHC/Tc/Errors/Ppr.hs
index ffabf0f69c..650befdd8f 100644
--- a/compiler/GHC/Tc/Errors/Ppr.hs
+++ b/compiler/GHC/Tc/Errors/Ppr.hs
@@ -31,6 +31,7 @@ instance Diagnostic TcRnMessage where
-> mkDecorated [ text "The import item" <+> quotes (ppr ie) <+>
text "does not have an explicit import list"
]
+
diagnosticReason = \case
TcRnUnknownMessage m
-> diagnosticReason m
@@ -45,6 +46,20 @@ instance Diagnostic TcRnMessage where
TcRnMissingImportList{}
-> WarningWithFlag Opt_WarnMissingImportList
+ diagnosticHints = \case
+ TcRnUnknownMessage m
+ -> diagnosticHints m
+ TcRnImplicitLift{}
+ -> noHints
+ TcRnUnusedPatternBinds{}
+ -> noHints
+ TcRnDodgyImports{}
+ -> noHints
+ TcRnDodgyExports{}
+ -> noHints
+ TcRnMissingImportList{}
+ -> noHints
+
dodgy_msg :: (Outputable a, Outputable b) => SDoc -> a -> b -> SDoc
dodgy_msg kind tc ie
= sep [ text "The" <+> kind <+> text "item"
diff --git a/compiler/GHC/Tc/Module.hs b/compiler/GHC/Tc/Module.hs
index 50b832ed49..450e97819a 100644
--- a/compiler/GHC/Tc/Module.hs
+++ b/compiler/GHC/Tc/Module.hs
@@ -214,7 +214,7 @@ tcRnModule hsc_env mod_sum save_rn_syntax
logger = hsc_logger hsc_env
home_unit = hsc_home_unit hsc_env
err_msg = mkPlainErrorMsgEnvelope loc $
- TcRnUnknownMessage $ mkPlainError $
+ TcRnUnknownMessage $ mkPlainError noHints $
text "Module does not have a RealSrcSpan:" <+> ppr this_mod
pair :: (Module, SrcSpan)
@@ -3152,5 +3152,5 @@ mark_plugin_unsafe dflags = unless (gopt Opt_PluginTrustworthy dflags) $
singleMessage $
mkPlainMsgEnvelope dflags noSrcSpan $
TcRnUnknownMessage $
- mkPlainDiagnostic WarningWithoutFlag $
+ mkPlainDiagnostic WarningWithoutFlag noHints $
Outputable.text unsafeText
diff --git a/compiler/GHC/Tc/Utils/Monad.hs b/compiler/GHC/Tc/Utils/Monad.hs
index 730e666a2a..2d9298e12b 100644
--- a/compiler/GHC/Tc/Utils/Monad.hs
+++ b/compiler/GHC/Tc/Utils/Monad.hs
@@ -1038,7 +1038,7 @@ mkLongErrAt loc msg extra
let msg' = pprWithUnitState unit_state msg in
return $ mkErrorMsgEnvelope loc printer
$ TcRnUnknownMessage
- $ mkDecoratedError [msg', extra] }
+ $ mkDecoratedError noHints [msg', extra] }
mkTcRnMessage :: DiagnosticReason
-> SrcSpan
@@ -1058,7 +1058,7 @@ mkTcRnMessage reason loc important context extra
in
return $ mkMsgEnvelope dflags loc printer
$ TcRnUnknownMessage
- $ mkDecoratedDiagnostic reason errDocs }
+ $ mkDecoratedDiagnostic reason noHints errDocs }
addLongErrAt :: SrcSpan -> SDoc -> SDoc -> TcRn ()
addLongErrAt loc msg extra = mkLongErrAt loc msg extra >>= reportDiagnostic
@@ -1585,7 +1585,7 @@ add_diagnostic_at reason loc msg extra_info
dflags <- getDynFlags ;
let { dia = mkMsgEnvelope dflags loc printer $
TcRnUnknownMessage $
- mkDecoratedDiagnostic reason [msg, extra_info] } ;
+ mkDecoratedDiagnostic reason noHints [msg, extra_info] } ;
reportDiagnostic dia }