Vladislav Zavialov pushed to branch wip/int-index/remove-outdated-note at Glasgow Haskell Compiler / GHC Commits: f1def4bd by Vladislav Zavialov at 2025-11-01T02:44:39+03:00 Comments only in GHC.Parser.PostProcess.Haddock Remove outdated Note [Register keyword location], as the issue it describes was addressed by commit 05eb50dff2fcc78d025e77b9418ddb369db49b9f. - - - - - 3 changed files: - compiler/GHC/Parser/PostProcess/Haddock.hs - testsuite/tests/haddock/should_compile_flag_haddock/T17544_kw.hs - testsuite/tests/haddock/should_compile_flag_haddock/T17544_kw.stderr Changes: ===================================== compiler/GHC/Parser/PostProcess/Haddock.hs ===================================== @@ -1115,7 +1115,6 @@ runHdkA (HdkA _ m) = unHdkM m mempty -- To take it into account, we must register its location using registerLocHdkA -- or registerHdkA. -- --- See Note [Register keyword location]. -- See Note [Adding Haddock comments to the syntax tree]. registerLocHdkA :: SrcSpan -> HdkA () registerLocHdkA l = HdkA (getBufSpan l) (pure ()) @@ -1544,18 +1543,3 @@ that GHC could parse successfully: This declaration was accepted by ghc but rejected by ghc -haddock. -} - -{- Note [Register keyword location] -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -At the moment, 'addHaddock' erroneously associates some comments with -constructs that are separated by a keyword. For example: - - data Foo -- | Comment for MkFoo - where MkFoo :: Foo - -We could use EPA (exactprint annotations) to fix this, but not without -modification. For example, EpaLocation contains RealSrcSpan but not BufSpan. -Also, the fix would be more straightforward after #19623. - -For examples, see tests/haddock/should_compile_flag_haddock/T17544_kw.hs --} ===================================== testsuite/tests/haddock/should_compile_flag_haddock/T17544_kw.hs ===================================== @@ -2,8 +2,6 @@ {-# OPTIONS -haddock -ddump-parsed-ast #-} -- Haddock comments in this test case are all rejected. --- --- See Note [Register keyword location] in GHC.Parser.PostProcess.Haddock module -- | Bad comment for the module ===================================== testsuite/tests/haddock/should_compile_flag_haddock/T17544_kw.stderr ===================================== @@ -10,15 +10,15 @@ (AnnsModule (NoEpTok) (EpTok - (EpaSpan { T17544_kw.hs:8:1-6 })) + (EpaSpan { T17544_kw.hs:6:1-6 })) (EpTok - (EpaSpan { T17544_kw.hs:13:12-16 })) + (EpaSpan { T17544_kw.hs:11:12-16 })) [] [] (Just ((,) - { T17544_kw.hs:25:1 } - { T17544_kw.hs:24:18 }))) + { T17544_kw.hs:23:1 } + { T17544_kw.hs:22:18 }))) (EpaCommentsBalanced [] [])) @@ -29,7 +29,7 @@ (Just (L (EpAnn - (EpaSpan { T17544_kw.hs:10:3-11 }) + (EpaSpan { T17544_kw.hs:8:3-11 }) (AnnListItem []) (EpaComments @@ -38,14 +38,14 @@ (Just (L (EpAnn - (EpaSpan { T17544_kw.hs:(10,13)-(13,10) }) + (EpaSpan { T17544_kw.hs:(8,13)-(11,10) }) (AnnList (Nothing) (ListParens (EpTok - (EpaSpan { T17544_kw.hs:10:13 })) + (EpaSpan { T17544_kw.hs:8:13 })) (EpTok - (EpaSpan { T17544_kw.hs:13:10 }))) + (EpaSpan { T17544_kw.hs:11:10 }))) [] ((,) (NoEpTok) @@ -55,26 +55,24 @@ [])) [(L (EpAnn - (EpaSpan { T17544_kw.hs:11:3-9 }) + (EpaSpan { T17544_kw.hs:9:3-9 }) (AnnListItem [(AddCommaAnn (EpTok - (EpaSpan { T17544_kw.hs:11:10 })))]) + (EpaSpan { T17544_kw.hs:9:10 })))]) (EpaComments [])) - (IEThingAll + (IEThingWith ((,) (Nothing) - ((,,) - (EpTok - (EpaSpan { T17544_kw.hs:11:6 })) + ((,) (EpTok - (EpaSpan { T17544_kw.hs:11:7-8 })) + (EpaSpan { T17544_kw.hs:9:6 })) (EpTok - (EpaSpan { T17544_kw.hs:11:9 })))) + (EpaSpan { T17544_kw.hs:9:9 })))) (L (EpAnn - (EpaSpan { T17544_kw.hs:11:3-5 }) + (EpaSpan { T17544_kw.hs:9:3-5 }) (AnnListItem []) (EpaComments @@ -83,36 +81,45 @@ (NoExtField) (L (EpAnn - (EpaSpan { T17544_kw.hs:11:3-5 }) + (EpaSpan { T17544_kw.hs:9:3-5 }) (NameAnnTrailing []) (EpaComments [])) (Unqual {OccName: Foo})))) + [(L + (EpAnn + (EpaSpan { T17544_kw.hs:9:7-8 }) + (AnnListItem + []) + (EpaComments + [])) + (IEWildcard + (EpTok + (EpaSpan { T17544_kw.hs:9:7-8 }))))] + [] (Nothing))) ,(L (EpAnn - (EpaSpan { T17544_kw.hs:12:3-9 }) + (EpaSpan { T17544_kw.hs:10:3-9 }) (AnnListItem [(AddCommaAnn (EpTok - (EpaSpan { T17544_kw.hs:12:10 })))]) + (EpaSpan { T17544_kw.hs:10:10 })))]) (EpaComments [])) - (IEThingAll + (IEThingWith ((,) (Nothing) - ((,,) + ((,) (EpTok - (EpaSpan { T17544_kw.hs:12:6 })) + (EpaSpan { T17544_kw.hs:10:6 })) (EpTok - (EpaSpan { T17544_kw.hs:12:7-8 })) - (EpTok - (EpaSpan { T17544_kw.hs:12:9 })))) + (EpaSpan { T17544_kw.hs:10:9 })))) (L (EpAnn - (EpaSpan { T17544_kw.hs:12:3-5 }) + (EpaSpan { T17544_kw.hs:10:3-5 }) (AnnListItem []) (EpaComments @@ -121,34 +128,43 @@ (NoExtField) (L (EpAnn - (EpaSpan { T17544_kw.hs:12:3-5 }) + (EpaSpan { T17544_kw.hs:10:3-5 }) (NameAnnTrailing []) (EpaComments [])) (Unqual {OccName: Bar})))) + [(L + (EpAnn + (EpaSpan { T17544_kw.hs:10:7-8 }) + (AnnListItem + []) + (EpaComments + [])) + (IEWildcard + (EpTok + (EpaSpan { T17544_kw.hs:10:7-8 }))))] + [] (Nothing))) ,(L (EpAnn - (EpaSpan { T17544_kw.hs:13:3-9 }) + (EpaSpan { T17544_kw.hs:11:3-9 }) (AnnListItem []) (EpaComments [])) - (IEThingAll + (IEThingWith ((,) (Nothing) - ((,,) + ((,) (EpTok - (EpaSpan { T17544_kw.hs:13:6 })) - (EpTok - (EpaSpan { T17544_kw.hs:13:7-8 })) + (EpaSpan { T17544_kw.hs:11:6 })) (EpTok - (EpaSpan { T17544_kw.hs:13:9 })))) + (EpaSpan { T17544_kw.hs:11:9 })))) (L (EpAnn - (EpaSpan { T17544_kw.hs:13:3-5 }) + (EpaSpan { T17544_kw.hs:11:3-5 }) (AnnListItem []) (EpaComments @@ -157,18 +173,29 @@ (NoExtField) (L (EpAnn - (EpaSpan { T17544_kw.hs:13:3-5 }) + (EpaSpan { T17544_kw.hs:11:3-5 }) (NameAnnTrailing []) (EpaComments [])) (Unqual {OccName: Cls})))) + [(L + (EpAnn + (EpaSpan { T17544_kw.hs:11:7-8 }) + (AnnListItem + []) + (EpaComments + [])) + (IEWildcard + (EpTok + (EpaSpan { T17544_kw.hs:11:7-8 }))))] + [] (Nothing)))])) [] [(L (EpAnn - (EpaSpan { T17544_kw.hs:(15,1)-(16,20) }) + (EpaSpan { T17544_kw.hs:(13,1)-(14,20) }) (AnnListItem []) (EpaComments @@ -179,7 +206,7 @@ (NoExtField) (L (EpAnn - (EpaSpan { T17544_kw.hs:15:6-8 }) + (EpaSpan { T17544_kw.hs:13:6-8 }) (NameAnnTrailing []) (EpaComments @@ -197,11 +224,11 @@ (NoEpTok) (NoEpTok) (EpTok - (EpaSpan { T17544_kw.hs:15:1-4 })) + (EpaSpan { T17544_kw.hs:13:1-4 })) (NoEpTok) (NoEpUniTok) (EpTok - (EpaSpan { T17544_kw.hs:16:3-7 })) + (EpaSpan { T17544_kw.hs:14:3-7 })) (NoEpTok) (NoEpTok) (NoEpTok)) @@ -212,7 +239,7 @@ (False) [(L (EpAnn - (EpaSpan { T17544_kw.hs:16:9-20 }) + (EpaSpan { T17544_kw.hs:14:9-20 }) (AnnListItem []) (EpaComments @@ -222,12 +249,12 @@ [] [] (EpUniTok - (EpaSpan { T17544_kw.hs:16:15-16 }) + (EpaSpan { T17544_kw.hs:14:15-16 }) (NormalSyntax))) (:| (L (EpAnn - (EpaSpan { T17544_kw.hs:16:9-13 }) + (EpaSpan { T17544_kw.hs:14:9-13 }) (NameAnnTrailing []) (EpaComments @@ -237,7 +264,7 @@ []) (L (EpAnn - (EpaSpan { T17544_kw.hs:16:18-20 }) + (EpaSpan { T17544_kw.hs:14:18-20 }) (AnnListItem []) (EpaComments @@ -251,7 +278,7 @@ []) (L (EpAnn - (EpaSpan { T17544_kw.hs:16:18-20 }) + (EpaSpan { T17544_kw.hs:14:18-20 }) (AnnListItem []) (EpaComments @@ -261,7 +288,7 @@ (NotPromoted) (L (EpAnn - (EpaSpan { T17544_kw.hs:16:18-20 }) + (EpaSpan { T17544_kw.hs:14:18-20 }) (NameAnnTrailing []) (EpaComments @@ -272,7 +299,7 @@ [])))) ,(L (EpAnn - (EpaSpan { T17544_kw.hs:(18,1)-(19,26) }) + (EpaSpan { T17544_kw.hs:(16,1)-(17,26) }) (AnnListItem []) (EpaComments @@ -283,7 +310,7 @@ (NoExtField) (L (EpAnn - (EpaSpan { T17544_kw.hs:18:9-11 }) + (EpaSpan { T17544_kw.hs:16:9-11 }) (NameAnnTrailing []) (EpaComments @@ -300,12 +327,12 @@ [] (NoEpTok) (EpTok - (EpaSpan { T17544_kw.hs:18:1-7 })) + (EpaSpan { T17544_kw.hs:16:1-7 })) (NoEpTok) (NoEpTok) (NoEpUniTok) (EpTok - (EpaSpan { T17544_kw.hs:19:3-7 })) + (EpaSpan { T17544_kw.hs:17:3-7 })) (NoEpTok) (NoEpTok) (NoEpTok)) @@ -315,7 +342,7 @@ (NewTypeCon (L (EpAnn - (EpaSpan { T17544_kw.hs:19:9-26 }) + (EpaSpan { T17544_kw.hs:17:9-26 }) (AnnListItem []) (EpaComments @@ -325,12 +352,12 @@ [] [] (EpUniTok - (EpaSpan { T17544_kw.hs:19:15-16 }) + (EpaSpan { T17544_kw.hs:17:15-16 }) (NormalSyntax))) (:| (L (EpAnn - (EpaSpan { T17544_kw.hs:19:9-13 }) + (EpaSpan { T17544_kw.hs:17:9-13 }) (NameAnnTrailing []) (EpaComments @@ -340,7 +367,7 @@ []) (L (EpAnn - (EpaSpan { T17544_kw.hs:19:18-26 }) + (EpaSpan { T17544_kw.hs:17:18-26 }) (AnnListItem []) (EpaComments @@ -363,11 +390,11 @@ (HsUnannotated (EpArrow (EpUniTok - (EpaSpan { T17544_kw.hs:19:21-22 }) + (EpaSpan { T17544_kw.hs:17:21-22 }) (NormalSyntax)))) (L (EpAnn - (EpaSpan { T17544_kw.hs:19:18-19 }) + (EpaSpan { T17544_kw.hs:17:18-19 }) (AnnListItem []) (EpaComments @@ -375,15 +402,15 @@ (HsTupleTy (AnnParens (EpTok - (EpaSpan { T17544_kw.hs:19:18 })) + (EpaSpan { T17544_kw.hs:17:18 })) (EpTok - (EpaSpan { T17544_kw.hs:19:19 }))) + (EpaSpan { T17544_kw.hs:17:19 }))) (HsBoxedOrConstraintTuple) [])) (Nothing))]) (L (EpAnn - (EpaSpan { T17544_kw.hs:19:24-26 }) + (EpaSpan { T17544_kw.hs:17:24-26 }) (AnnListItem []) (EpaComments @@ -393,7 +420,7 @@ (NotPromoted) (L (EpAnn - (EpaSpan { T17544_kw.hs:19:24-26 }) + (EpaSpan { T17544_kw.hs:17:24-26 }) (NameAnnTrailing []) (EpaComments @@ -404,7 +431,7 @@ [])))) ,(L (EpAnn - (EpaSpan { T17544_kw.hs:(21,1)-(24,18) }) + (EpaSpan { T17544_kw.hs:(19,1)-(22,18) }) (AnnListItem []) (EpaComments @@ -415,12 +442,12 @@ ((,,) (AnnClassDecl (EpTok - (EpaSpan { T17544_kw.hs:21:1-5 })) + (EpaSpan { T17544_kw.hs:19:1-5 })) [] [] (NoEpTok) (EpTok - (EpaSpan { T17544_kw.hs:23:3-7 })) + (EpaSpan { T17544_kw.hs:21:3-7 })) (NoEpTok) (NoEpTok) []) @@ -430,7 +457,7 @@ (Nothing) (L (EpAnn - (EpaSpan { T17544_kw.hs:21:7-9 }) + (EpaSpan { T17544_kw.hs:19:7-9 }) (NameAnnTrailing []) (EpaComments @@ -441,7 +468,7 @@ (NoExtField) [(L (EpAnn - (EpaSpan { T17544_kw.hs:21:11 }) + (EpaSpan { T17544_kw.hs:19:11 }) (AnnListItem []) (EpaComments @@ -458,7 +485,7 @@ (NoExtField) (L (EpAnn - (EpaSpan { T17544_kw.hs:21:11 }) + (EpaSpan { T17544_kw.hs:19:11 }) (NameAnnTrailing []) (EpaComments @@ -471,7 +498,7 @@ [] [(L (EpAnn - (EpaSpan { T17544_kw.hs:24:5-18 }) + (EpaSpan { T17544_kw.hs:22:5-18 }) (AnnListItem []) (EpaComments @@ -479,14 +506,14 @@ (ClassOpSig (AnnSig (EpUniTok - (EpaSpan { T17544_kw.hs:24:15-16 }) + (EpaSpan { T17544_kw.hs:22:15-16 }) (NormalSyntax)) (Nothing) (Nothing)) (False) [(L (EpAnn - (EpaSpan { T17544_kw.hs:24:5-13 }) + (EpaSpan { T17544_kw.hs:22:5-13 }) (NameAnnTrailing []) (EpaComments @@ -495,7 +522,7 @@ {OccName: clsmethod}))] (L (EpAnn - (EpaSpan { T17544_kw.hs:24:18 }) + (EpaSpan { T17544_kw.hs:22:18 }) (AnnListItem []) (EpaComments @@ -506,7 +533,7 @@ (NoExtField)) (L (EpAnn - (EpaSpan { T17544_kw.hs:24:18 }) + (EpaSpan { T17544_kw.hs:22:18 }) (AnnListItem []) (EpaComments @@ -516,7 +543,7 @@ (NotPromoted) (L (EpAnn - (EpaSpan { T17544_kw.hs:24:18 }) + (EpaSpan { T17544_kw.hs:22:18 }) (NameAnnTrailing []) (EpaComments @@ -529,15 +556,15 @@ [])))])) -T17544_kw.hs:9:3: warning: [GHC-94458] [-Winvalid-haddock] +T17544_kw.hs:7:3: warning: [GHC-94458] [-Winvalid-haddock] A Haddock comment cannot appear in this position and will be ignored. -T17544_kw.hs:15:10: warning: [GHC-94458] [-Winvalid-haddock] +T17544_kw.hs:13:10: warning: [GHC-94458] [-Winvalid-haddock] A Haddock comment cannot appear in this position and will be ignored. -T17544_kw.hs:18:13: warning: [GHC-94458] [-Winvalid-haddock] +T17544_kw.hs:16:13: warning: [GHC-94458] [-Winvalid-haddock] A Haddock comment cannot appear in this position and will be ignored. -T17544_kw.hs:22:5: warning: [GHC-94458] [-Winvalid-haddock] +T17544_kw.hs:20:5: warning: [GHC-94458] [-Winvalid-haddock] A Haddock comment cannot appear in this position and will be ignored. View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/f1def4bd9105333aa64d73f2afd9239b... -- View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/commit/f1def4bd9105333aa64d73f2afd9239b... You're receiving this email because of your account on gitlab.haskell.org.
participants (1)
-
Vladislav Zavialov (@int-index)