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
}
]