Skip to content

Code action "expand positional record" produces invalid code. #4564

Open
@AndreasPK

Description

@AndreasPK

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

No one assigned

    Labels

    component: 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..

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions