This branch significantly refactors key renamer datastructures (
GlobalRdrElt) in order to treat
DuplicateRecordFields in a more robust way. In particular it allows the extension to be used with pattern synonyms (fixes #11228, fixes #17176 (closed)), resolves a variety of corner case bugs (fixes #11959 (closed), fixes #14630 (closed), fixes #16745 (closed), fixes #18452), and corrects some cases where mangled record selector names could be printed instead of field labels (e.g. with
-Wpartial-fields or hole fits, see new tests). All this should hopefully be helpful for
NoFieldSelectors when it lands see (!4017).
Status: in review