-
-
Notifications
You must be signed in to change notification settings - Fork 400
Closed
Labels
component: hls-explicit-record-fields-pluginIssues related to the hls-explicit-record-fields-pluginIssues related to the hls-explicit-record-fields-plugintype: bugSomething isn't right: doesn't work as intended, documentation is missing/outdated, etc..Something isn't right: doesn't work as intended, documentation is missing/outdated, etc..
Description
Your environment
HLS version is Version 2.9.0.1 x86_64 ghc-9.10.1
under VSCode/Linux
Steps to reproduce
See below under actual behaviour.
Expected behaviour
Code actions on valid code should result in valid code.
Actual behaviour
Given this snippet:
data T = MkT { fa :: Int, fb :: Char}
foo :: Int -> Char -> T
foo x = (MkT x)
HLS suggests replacing (MkT x)
with MkT { fa = x }
.
However this fails to typecheck. As the first expression has type Char -> T
while the later has type T
Metadata
Metadata
Assignees
Labels
component: hls-explicit-record-fields-pluginIssues related to the hls-explicit-record-fields-pluginIssues related to the hls-explicit-record-fields-plugintype: bugSomething isn't right: doesn't work as intended, documentation is missing/outdated, etc..Something isn't right: doesn't work as intended, documentation is missing/outdated, etc..
Activity
fendor commentedon Apr 18, 2025
@ozkutuk Afaict, this looks like it is related to the
hls-explicit-record-fields-plugin
.Perhaps you have an idea about what's up here?
AndreasPK commentedon Apr 18, 2025
Disabling
Explicit Fields
inlays and actions at least hides the broken suggests 👍ozkutuk commentedon Apr 18, 2025
I am a bit surprised that this is related to the
hls-explicit-record-fields-plugin
, since IIRC that plugin should only pick up records constructed with the record literal syntax. Though I think the plugin was extended a bit since my initial implementation to provide support for inlay hints, and that might have something to do with it. I'll refamiliarize myself with the current code of the plugin and take a look into this issue afterwards when I can carve up the time to do so.