In Haskell you can pun-records, which means to access field variables in a breviated way. When records are punned, there is a reference from pun to field declaration and from pun-name-use to pun-declaration, but no transitive reference. Meaning refactoring did not propagate to the latter. Solution is a second pass to find indirect pun-references and rename those as well.
[ { "endline": 77, "file": "plugins/hls-rename-plugin/src/Ide/Plugin/Rename.hs", "function": "renameProvider", "module": "Ide.Plugin.Rename", "startline": 69 }, { "endline": 96, "file": "plugins/hls-rename-plugin/src/Ide/Plugin/Rename.hs", "function": "failWhenImportOrExport", "module": "Ide.Plugin.Rename", "startline": 96 } ]
[ { "endline": 88, "file": "plugins/hls-rename-plugin/src/Ide/Plugin/Rename.hs", "function": "renameProvider", "module": "Ide.Plugin.Rename", "startline": 68 }, { "endline": 107, "file": "plugins/hls-rename-plugin/src/Ide/Plugin/Rename.hs", "function": "failWhenImportOrExport", "module": "Ide.Plugin.Rename", "startline": 107 }, { "endline": 253, "file": "plugins/hls-rename-plugin/src/Ide/Plugin/Rename.hs", "function": "locToFilePos", "module": "Ide.Plugin.Rename", "startline": 249 } ]