[Git][ghc/ghc][wip/andreask/note-lint] lint notes: Add more info to notes.stdout
Andreas Klebinger (@AndreasK)
gitlab at gitlab.haskell.org
Tue May 28 11:09:21 UTC 2024
Andreas Klebinger pushed to branch wip/andreask/note-lint at Glasgow Haskell Compiler / GHC
Commits:
5d3cb951 by Andreas Klebinger at 2024-05-28T12:53:51+02:00
lint notes: Add more info to notes.stdout
When fixing a note reference CI fails with a somewhat confusing diff.
See #21123. This commit adds a line to the output file being compared
which hopefully makes it clear this is the list of broken refs, not all
refs.
Fixes #21123
- - - - -
2 changed files:
- linters/lint-notes/Main.hs
- testsuite/tests/linters/notes.stdout
Changes:
=====================================
linters/lint-notes/Main.hs
=====================================
@@ -37,7 +37,9 @@ main = do
parseMode "unreferenced" = Just $ printNoteDefs . S.toList . unreferencedNotes
parseMode "defs" = Just $ printNoteDefs . allNoteDefs
parseMode "refs" = Just $ printNoteRefs . allNoteRefs
- parseMode "broken-refs" = Just $ printNoteRefs . map fst . brokenNoteRefs
+ parseMode "broken-refs" = Just $ \notedb -> do
+ putStrLn "Broken note references (target note not found!):"
+ printNoteRefs . map fst . brokenNoteRefs $ notedb
parseMode "broken-refs-suggest" = Just $ mapM_ printNoteRefsSugg . brokenNoteRefs
parseMode _ = Nothing
=====================================
testsuite/tests/linters/notes.stdout
=====================================
@@ -1,39 +1,40 @@
+Broken note references (target note not found!):
ref compiler/GHC/Core/Coercion/Axiom.hs:472:2: Note [RoughMap and rm_empty]
ref compiler/GHC/Core/Opt/OccurAnal.hs:1157:7: Note [Loop breaking]
-ref compiler/GHC/Core/Opt/SetLevels.hs:1586:30: Note [Top level scope]
-ref compiler/GHC/Core/Opt/Simplify/Iteration.hs:2832:13: Note [Case binder next]
-ref compiler/GHC/Core/Opt/Simplify/Iteration.hs:4023:8: Note [Lambda-bound unfoldings]
-ref compiler/GHC/Core/Opt/Simplify/Utils.hs:1342:37: Note [Gentle mode]
+ref compiler/GHC/Core/Opt/SetLevels.hs:1688:30: Note [Top level scope]
+ref compiler/GHC/Core/Opt/Simplify/Iteration.hs:2937:13: Note [Case binder next]
+ref compiler/GHC/Core/Opt/Simplify/Iteration.hs:4253:8: Note [Lambda-bound unfoldings]
+ref compiler/GHC/Core/Opt/Simplify/Utils.hs:1406:37: Note [Gentle mode]
ref compiler/GHC/Core/Opt/Specialise.hs:1763:29: Note [Arity decrease]
-ref compiler/GHC/Core/TyCo/Rep.hs:1652:31: Note [What prevents a constraint from floating]
-ref compiler/GHC/Driver/DynFlags.hs:1251:52: Note [Eta-reduction in -O0]
-ref compiler/GHC/Driver/Main.hs:1749:34: Note [simpleTidyPgm - mkBootModDetailsTc]
-ref compiler/GHC/Hs/Expr.hs:191:63: Note [Pending Splices]
-ref compiler/GHC/Hs/Expr.hs:1727:87: Note [Lifecycle of a splice]
-ref compiler/GHC/Hs/Expr.hs:1763:7: Note [Pending Splices]
-ref compiler/GHC/Hs/Extension.hs:147:5: Note [Strict argument type constraints]
-ref compiler/GHC/Hs/Pat.hs:141:74: Note [Lifecycle of a splice]
+ref compiler/GHC/Core/TyCo/Rep.hs:1677:31: Note [What prevents a constraint from floating]
+ref compiler/GHC/Driver/DynFlags.hs:1254:52: Note [Eta-reduction in -O0]
+ref compiler/GHC/Driver/Main.hs:1750:34: Note [simpleTidyPgm - mkBootModDetailsTc]
+ref compiler/GHC/Hs/Expr.hs:192:63: Note [Pending Splices]
+ref compiler/GHC/Hs/Expr.hs:1955:87: Note [Lifecycle of a splice]
+ref compiler/GHC/Hs/Expr.hs:1991:7: Note [Pending Splices]
+ref compiler/GHC/Hs/Extension.hs:144:5: Note [Strict argument type constraints]
+ref compiler/GHC/Hs/Pat.hs:146:74: Note [Lifecycle of a splice]
ref compiler/GHC/HsToCore/Pmc/Solver.hs:856:20: Note [COMPLETE sets on data families]
-ref compiler/GHC/HsToCore/Quote.hs:1487:7: Note [How brackets and nested splices are handled]
-ref compiler/GHC/Stg/Unarise.hs:438:32: Note [Renaming during unarisation]
-ref compiler/GHC/Tc/Gen/HsType.hs:556:56: Note [Skolem escape prevention]
-ref compiler/GHC/Tc/Gen/HsType.hs:2676:7: Note [Matching a kind signature with a declaration]
-ref compiler/GHC/Tc/Gen/Pat.hs:174:20: Note [Typing patterns in pattern bindings]
-ref compiler/GHC/Tc/Gen/Pat.hs:1163:7: Note [Matching polytyped patterns]
-ref compiler/GHC/Tc/Gen/Sig.hs:80:10: Note [Overview of type signatures]
+ref compiler/GHC/HsToCore/Quote.hs:1505:7: Note [How brackets and nested splices are handled]
+ref compiler/GHC/Stg/Unarise.hs:451:32: Note [Renaming during unarisation]
+ref compiler/GHC/Tc/Gen/HsType.hs:561:56: Note [Skolem escape prevention]
+ref compiler/GHC/Tc/Gen/HsType.hs:2707:7: Note [Matching a kind signature with a declaration]
+ref compiler/GHC/Tc/Gen/Pat.hs:286:20: Note [Typing patterns in pattern bindings]
+ref compiler/GHC/Tc/Gen/Pat.hs:1385:7: Note [Matching polytyped patterns]
+ref compiler/GHC/Tc/Gen/Sig.hs:77:10: Note [Overview of type signatures]
ref compiler/GHC/Tc/Gen/Splice.hs:358:16: Note [How brackets and nested splices are handled]
ref compiler/GHC/Tc/Gen/Splice.hs:533:35: Note [PendingRnSplice]
-ref compiler/GHC/Tc/Gen/Splice.hs:657:7: Note [How brackets and nested splices are handled]
-ref compiler/GHC/Tc/Gen/Splice.hs:891:11: Note [How brackets and nested splices are handled]
+ref compiler/GHC/Tc/Gen/Splice.hs:660:7: Note [How brackets and nested splices are handled]
+ref compiler/GHC/Tc/Gen/Splice.hs:904:11: Note [How brackets and nested splices are handled]
ref compiler/GHC/Tc/Instance/Family.hs:406:35: Note [Constrained family instances]
-ref compiler/GHC/Tc/Solver/Rewrite.hs:1010:7: Note [Stability of rewriting]
+ref compiler/GHC/Tc/Solver/Rewrite.hs:1006:7: Note [Stability of rewriting]
ref compiler/GHC/Tc/TyCl.hs:1316:6: Note [Unification variables need fresh Names]
ref compiler/GHC/Tc/Types/Constraint.hs:206:38: Note [NonCanonical Semantics]
-ref compiler/GHC/Types/Demand.hs:301:25: Note [Preserving Boxity of results is rarely a win]
+ref compiler/GHC/Types/Demand.hs:303:25: Note [Preserving Boxity of results is rarely a win]
ref compiler/GHC/Unit/Module/Deps.hs:83:13: Note [Structure of dep_boot_mods]
ref compiler/GHC/Utils/Monad.hs:410:34: Note [multiShotIO]
-ref compiler/Language/Haskell/Syntax/Binds.hs:200:31: Note [fun_id in Match]
-ref configure.ac:203:10: Note [Linking ghc-bin against threaded stage0 RTS]
+ref compiler/Language/Haskell/Syntax/Binds.hs:220:31: Note [fun_id in Match]
+ref configure.ac:191:10: Note [Linking ghc-bin against threaded stage0 RTS]
ref docs/core-spec/core-spec.mng:177:6: Note [TyBinders]
ref hadrian/src/Expression.hs:145:30: Note [Linking ghc-bin against threaded stage0 RTS]
ref linters/lint-notes/Notes.hs:32:29: Note [" <> T.unpack x <> "]
@@ -51,18 +52,18 @@ ref testsuite/tests/typecheck/should_compile/tc228.hs:9:7: Note [Inferenc
ref testsuite/tests/typecheck/should_compile/tc231.hs:12:16: Note [Important subtlety in oclose]
ref testsuite/tests/typecheck/should_fail/UnliftedNewtypesMultiFieldGadt.hs:11:28: Note [Kind-checking the field type]
ref testsuite/tests/typecheck/should_fail/tcfail093.hs:13:7: Note [Important subtlety in oclose]
-ref utils/haddock/haddock-api/src/Haddock/Convert.hs<line>:<no>: Note [Eta reduction for data family axioms]
-ref utils/haddock/haddock-api/src/Haddock/Convert.hs<line>:<no>: Note [Invariant: Never expand type synonyms]
-ref utils/haddock/haddock-api/src/Haddock/Convert.hs<line>:<no>: Note [Invariant: Never expand type synonyms]
-ref utils/haddock/haddock-api/src/Haddock/Convert.hs<line>:<no>: Note [Invariant: Never expand type synonyms]
-ref utils/haddock/haddock-api/src/Haddock/Convert.hs<line>:<no>: Note [Invariant: Never expand type synonyms]
-ref utils/haddock/haddock-api/src/Haddock/Convert.hs<line>:<no>: Note [Invariant: Never expand type synonyms]
-ref utils/haddock/haddock-api/src/Haddock/Convert.hs<line>:<no>: Note [Invariant: Never expand type synonyms]
-ref utils/haddock/haddock-api/src/Haddock/Convert.hs<line>:<no>: Note [Invariant: Never expand type synonyms]
-ref utils/haddock/haddock-api/src/Haddock/Convert.hs<line>:<no>: Note [Invariant: Never expand type synonyms]
-ref utils/haddock/haddock-api/src/Haddock/Interface/Create.hs<line>:<no>: Note [Exporting built-in items]
-ref utils/haddock/haddock-api/src/Haddock/Interface/Create.hs<line>:<no>: Note [Exporting built-in items]
-ref utils/haddock/haddock-api/src/Haddock/Interface/Create.hs<line>:<no>: Note [Exporting built-in items]
-ref utils/haddock/haddock-api/src/Haddock/InterfaceFile.hs<line>:<no>: Note [The DocModule story]
-ref utils/haddock/haddock-api/src/Haddock/Types.hs<line>:<no>: Note [Pass sensitive types]
+ref utils/haddock/haddock-api/src/Haddock/Convert.hs:1068:13: Note [Eta reduction for data family axioms]
+ref utils/haddock/haddock-api/src/Haddock/Convert.hs:1085:0: Note [Invariant: Never expand type synonyms]
+ref utils/haddock/haddock-api/src/Haddock/Convert.hs:1101:7: Note [Invariant: Never expand type synonyms]
+ref utils/haddock/haddock-api/src/Haddock/Convert.hs:1108:9: Note [Invariant: Never expand type synonyms]
+ref utils/haddock/haddock-api/src/Haddock/Convert.hs:1117:9: Note [Invariant: Never expand type synonyms]
+ref utils/haddock/haddock-api/src/Haddock/Convert.hs:1131:9: Note [Invariant: Never expand type synonyms]
+ref utils/haddock/haddock-api/src/Haddock/Convert.hs:1145:9: Note [Invariant: Never expand type synonyms]
+ref utils/haddock/haddock-api/src/Haddock/Convert.hs:1147:9: Note [Invariant: Never expand type synonyms]
+ref utils/haddock/haddock-api/src/Haddock/Convert.hs:1156:9: Note [Invariant: Never expand type synonyms]
+ref utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:120:11: Note [Exporting built-in items]
+ref utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:185:9: Note [Exporting built-in items]
+ref utils/haddock/haddock-api/src/Haddock/Interface/Create.hs:255:7: Note [Exporting built-in items]
+ref utils/haddock/haddock-api/src/Haddock/InterfaceFile.hs:118:3: Note [The DocModule story]
+ref utils/haddock/haddock-api/src/Haddock/Types.hs:17:3: Note [Pass sensitive types]
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/5d3cb951a7d80ef1beda12dd8d065739e72b4580
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/5d3cb951a7d80ef1beda12dd8d065739e72b4580
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20240528/aa6da506/attachment-0001.html>
More information about the ghc-commits
mailing list