hls-1

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.

ghc-version: 9.2.3

hasbugs-version: 1.0.0

license: Apache-2.0

build-framework: stack

Repository
GitHub Artifacts :

Faults @ffefe761

[
  {
    "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
  }
]

Fixes @0f6cd41d

[
  {
    "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
  }
]