Skip to content
  • Adam Gundry's avatar
    6f8bafb4
    Refactor renamer datastructures · 6f8bafb4
    Adam Gundry authored and Marge Bot's avatar Marge Bot committed
    This patch significantly refactors key renamer datastructures (primarily Avail
    and GlobalRdrElt) in order to treat DuplicateRecordFields in a more robust way.
    In particular it allows the extension to be used with pattern synonyms (fixes
    where mangled record selector names could be printed instead of field labels
    (e.g. with -Wpartial-fields or hole fits, see new tests).
    
    The key idea is the introduction of a new type GreName for names that may
    represent either normal entities or field labels.  This is then used in
    GlobalRdrElt and AvailInfo, in place of the old way of representing fields
    using FldParent (yuck) and an extra list in AvailTC.
    
    Updates the haddock submodule.
    6f8bafb4
    Refactor renamer datastructures
    Adam Gundry authored and Marge Bot's avatar Marge Bot committed
    This patch significantly refactors key renamer datastructures (primarily Avail
    and GlobalRdrElt) in order to treat DuplicateRecordFields in a more robust way.
    In particular it allows the extension to be used with pattern synonyms (fixes
    where mangled record selector names could be printed instead of field labels
    (e.g. with -Wpartial-fields or hole fits, see new tests).
    
    The key idea is the introduction of a new type GreName for names that may
    represent either normal entities or field labels.  This is then used in
    GlobalRdrElt and AvailInfo, in place of the old way of representing fields
    using FldParent (yuck) and an extra list in AvailTC.
    
    Updates the haddock submodule.
Loading