• Ryan Scott's avatar
    Handle local fixity declarations in DsMeta properly · c3fde723
    Ryan Scott authored
    `DsMeta.rep_sig` used to skip over `FixSig` entirely, which had the
    effect of causing local fixity declarations to be dropped when quoted
    in Template Haskell. But there is no good reason for this state of
    affairs, as the code in `DsMeta.repFixD` (which handles top-level
    fixity declarations) handles local fixity declarations just fine.
    This patch factors out the necessary parts of `repFixD` so that they
    can be used in `rep_sig` as well.
    
    There was one minor complication: the fixity signatures for class
    methods in each `HsGroup` were stored both in `FixSig`s _and_ the
    list of `LFixitySig`s for top-level fixity signatures, so I needed
    to take action to prevent fixity signatures for class methods being
    converted to `Dec`s twice. I tweaked `RnSource.add` to avoid putting
    these fixity signatures in two places and added
    `Note [Top-level fixity signatures in an HsGroup]` in `GHC.Hs.Decls`
    to explain the new design.
    
    Fixes #17608. Bumps the Haddock submodule.
    c3fde723
Name
Last commit
Last update
..
check-api-annotations Loading commit data...
check-ppr Loading commit data...
check-sphinx Loading commit data...
checkUniques Loading commit data...
compare_sizes Loading commit data...
completion Loading commit data...
coverity Loading commit data...
deriveConstants Loading commit data...
describe-unexpected Loading commit data...
fs Loading commit data...
gen-dll Loading commit data...
genapply Loading commit data...
genprimopcode Loading commit data...
ghc-cabal Loading commit data...
ghc-in-ghci Loading commit data...
ghc-pkg Loading commit data...
haddock @ e2c0a757 Loading commit data...
hp2ps Loading commit data...
hpc Loading commit data...
hsc2hs @ fff335b6 Loading commit data...
iserv Loading commit data...
iserv-proxy Loading commit data...
llvm-targets Loading commit data...
lndir Loading commit data...
mkdirhier Loading commit data...
remote-iserv Loading commit data...
runghc Loading commit data...
testremove Loading commit data...
touchy Loading commit data...
unlit Loading commit data...
vagrant Loading commit data...
verify-release Loading commit data...
update-autoconf.sh Loading commit data...