Skip to content

!!MISSING: command!! is intermittently displayed instead of type class function signatures #3827

Open
@konnik

Description

@konnik

Your environment

Which OS do you use?

Macbook Air M2 15" (Ventura 13.6)
Intel x86_64 (Ubuntu 20.04.6 LTS)

Same issue on both systems.

Which version of GHC do you use and how did you install it?

Installed with ghcup:

$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 9.6.3

$ cabal --version
cabal-install version 3.10.1.0
compiled using version 3.10.1.0 of the Cabal library 

How is your project built (alternative: link to the project)?

https://github.com/konnik/haskell-json-parser

Which LSP client (editor/plugin) do you use?

VSCode + haskell.haskell

Which version of HLS do you use and how did you install it?

$ haskell-language-server-wrapper --version
haskell-language-server version: 2.3.0.0 (GHC: 9.2.8) (PATH: /Users/niklas/.ghcup/hls/2.3.0.0/lib/haskell-language-server-2.3.0.0/bin/haskell-language-server-wrapper)

Installed by ghcup

Have you configured HLS in any way (especially: a hie.yaml file)?

no

Steps to reproduce

Really don't know how to reproduce it. It's very intermittent and resolves itself.

Expected behaviour

The code lens (don't know if this is the correct termiology) in vscode should show the type class signatures on my instance:

instance Monad Parser where
    return :: a -> Parser a             // this is shown by vscode, not part of the source
    return = pure
    (>>=) :: Parser a -> (a -> Parser b) -> Parser b                   // this is shown by vscode, not part of the source
    pa >>= fab = Parser $ \input -> do
        (input', a) <- runParser pa input
        runParser (fab a) input'

Actual behaviour

instance Monad Parser where
    !!MISSING: command!!            // this is shown by vscode, not part of the source
    return = pure
    !!MISSING: command!!                  // this is shown by vscode, not part of the source
    pa >>= fab = Parser $ \input -> do
        (input', a) <- runParser pa input
        runParser (fab a) input'

If i click on the text "!!MISSING: command!!" the error message "command 'missing' not found" is shown in bottom right of vscode

Debug information

Some things from the logs. Don't know if its relevant:

2023-10-03T17:41:54.161080Z | Info | Typechecking reverse dependencies for NormalizedFilePath "/Users/niklas/devel/haskell-json-parser/src/Json.hs": [ NormalizedFilePath "/Users/niklas/devel/haskell-json-parser/test/Test.hs" ]
2023-10-03T17:42:08.500584Z | Warning | Typechecked a file which is not currently open in the editor: /Users/niklas/devel/haskell-json-parser/src/Json.hs
This can indicate a bug which results in excessive memory usage.
This may be a spurious warning if you have recently closed the file.
If you haven't opened this file recently, please file a report on the issue tracker mentioning the HLS version being used, the plugins enabled, and if 

Metadata

Metadata

Assignees

No one assigned

    Labels

    type: 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