Skip to content
Snippets Groups Projects
Commit 24e61aad authored by Ben Price's avatar Ben Price Committed by Marge Bot
Browse files

Lint should say when it is checking a rule

It is rather confusing that when lint finds an error in a rule attached
to a binder, it reports the error as in the RHS, not the rule:
  ...
  In the RHS of foo

We add a clarifying line:
  ...
  In the RHS of foo
  In a rule attached to foo

The implication that the rule lives inside the RHS is a bit odd, but
this niggle is already present for unfoldings, whose pattern we are
following.
parent a9311cd5
No related branches found
No related tags found
No related merge requests found
......@@ -659,7 +659,7 @@ lintLetBind top_lvl rec_flag binder rhs rhs_ty
ppr binder)
_ -> return ()
; mapM_ (lintCoreRule binder binder_ty) (idCoreRules binder)
; addLoc (RuleOf binder) $ mapM_ (lintCoreRule binder binder_ty) (idCoreRules binder)
; addLoc (UnfoldingOf binder) $
lintIdUnfolding binder binder_ty (idUnfolding binder) }
......@@ -2293,6 +2293,7 @@ data LintLocInfo
= RhsOf Id -- The variable bound
| OccOf Id -- Occurrence of id
| LambdaBodyOf Id -- The lambda-binder
| RuleOf Id -- Rules attached to a binder
| UnfoldingOf Id -- Unfolding of a binder
| BodyOfLetRec [Id] -- One of the binders
| CaseAlt CoreAlt -- Case alternative
......@@ -2511,6 +2512,9 @@ dumpLoc (OccOf v)
dumpLoc (LambdaBodyOf b)
= (getSrcLoc b, text "In the body of lambda with binder" <+> pp_binder b)
dumpLoc (RuleOf b)
= (getSrcLoc b, text "In a rule attached to" <+> pp_binder b)
dumpLoc (UnfoldingOf b)
= (getSrcLoc b, text "In the unfolding of" <+> pp_binder b)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment