Closed
Description
EDIT/tl;dr: This is a known issue, and the solution seems to involve #3422 and/or haskell/hie-bios#269.
One of my projects hits a strange error which doesn't show up outside of HLS. Could be to do with the way I'm using cabal.project
, or c2hs
. No idea really.
When loading evdev-examples/evtest/Main.hs
:
• Couldn't match type ‘Device’
with ‘evdev-2.1.0:Evdev.Device’
NB: ‘evdev-2.1.0:Evdev.Device’
is defined in ‘Evdev’ in package ‘evdev-2.1.0’
‘Device’ is defined at
/home/gthomas/Code/evdev/evdev/src/Evdev.hs:78:1-71
Expected type: Streamly.Internal.Data.Stream.Async.AsyncT
IO evdev-2.1.0:Evdev.Device
Actual type: Streamly.Internal.Data.Stream.Async.AsyncT IO Device
• In the second argument of ‘($)’, namely
‘S.mapM printNewDevice $ newDevices' $ read t’
In the second argument of ‘($)’, namely
‘readEventsMany $ S.mapM printNewDevice $ newDevices' $ read t’
In a stmt of a 'do' block:
S.mapM_ pPrint
$ readEventsMany $ S.mapM printNewDevice $ newDevices' $ read t
PS. will only build on Linux (or BSD)
haskell-language-server version: 0.9.0.0 (GHC: 8.10.2) (PATH: /home/gthomas/.config/Code - OSS/User/globalStorage/haskell.haskell/haskell-language-server-0.9.0-linux-8.10.2) (GIT hash: 46d2a3dc7ef49ba57b2706022af1801149ab3f2b)
Tool versions found on the $PATH
cabal: 3.2.0.0
stack: Not found
ghc: 8.10.2
[client] run command: "/home/gthomas/.config/Code - OSS/User/globalStorage/haskell.haskell/haskell-language-server-0.9.0-linux-8.10.2 --lsp"
[client] debug command: "/home/gthomas/.config/Code - OSS/User/globalStorage/haskell.haskell/haskell-language-server-0.9.0-linux-8.10.2 --lsp"
[client] server cwd: undefined
haskell-language-server version: 0.9.0.0 (GHC: 8.10.2) (PATH: /home/gthomas/.config/Code - OSS/User/globalStorage/haskell.haskell/haskell-language-server-0.9.0-linux-8.10.2) (GIT hash: 46d2a3dc7ef49ba57b2706022af1801149ab3f2b)
Starting (haskell-language-server)LSP server...
with arguments: LspArguments {argLSP = True, argsCwd = Nothing, argFiles = [], argsShakeProfiling = Nothing, argsTesting = False, argsExamplePlugin = False, argsDebugOn = False, argsLogFile = Nothing, argsThreads = 0, argsProjectGhcVersion = False}
with plugins: [PluginId "brittany",PluginId "class",PluginId "eval",PluginId "floskell",PluginId "fourmolu",PluginId "ghcide-code-actions",PluginId "ghcide-completions",PluginId "ghcide-hover-and-symbols",PluginId "ghcide-type-lenses",PluginId "haddockComments",PluginId "hlint",PluginId "importLens",PluginId "moduleName",PluginId "ormolu",PluginId "pragmas",PluginId "retrie",PluginId "splice",PluginId "stylish-haskell",PluginId "tactic"]
in directory: /home/gthomas/Code/evdev
If you are seeing this in a terminal, you probably should have run ghcide WITHOUT the --lsp option!
Started LSP server in 0.10s
2021-02-12 14:19:18.360115946 [ThreadId 21] - Registering ide configuration: IdeConfiguration {workspaceFolders = fromList [NormalizedUri 8300828575177198912 "file:///home/gthomas/Code/monpad",NormalizedUri 8343285067462406768 "file:///home/gthomas/Code/music",NormalizedUri 109631572554722720 "file:///home/gthomas/Code/evdev-streamly-blocking-bug",NormalizedUri 3112717853944786625 "file:///home/gthomas/Code/hs-scripts",NormalizedUri 5742617178898687330 "file:///home/gthomas/Code/hlint",NormalizedUri 6881108509642929891 "file:///home/gthomas/Desktop",NormalizedUri 4061987544770403812 "file:///home/gthomas/Code/fourmolu",NormalizedUri (-470015693029166090) "file:///home/gthomas/Stuff/george-conf",NormalizedUri 1636838228875072503 "file:///home/gthomas/Code/ghcide",NormalizedUri (-4359575752087986441) "file:///home/gthomas/Code/evdev",NormalizedUri 6637041034560558524 "file:///home/gthomas/Code/pretty-simple",NormalizedUri (-2061641255772700819) "file:///home/gthomas/Code/net-evdev"], clientSettings = hashed Nothing}
2021-02-12 14:19:18.383113745 [ThreadId 21] - Configuration changed: Object (fromList [("haskell",Object (fromList [("logFile",String ""),("updateBehavior",String "keep-up-to-date"),("hlintOn",Bool True),("formatOnImportOn",Bool True),("indentationRules",Object (fromList [("enabled",Bool True)])),("liquidOn",Bool False),("languageServerVariant",String "haskell-language-server"),("serverExecutablePath",String ""),("diagnosticsOnChange",Bool True),("completionSnippetsOn",Bool True),("maxNumberOfProblems",Number 100.0),("formattingProvider",String "fourmolu"),("trace",Object (fromList [("server",String "off")]))]))])
2021-02-12 14:19:18.384282759 [ThreadId 21] - Opened text document: file:///home/gthomas/Code/evdev/evdev-examples/evtest/Main.hs
2021-02-12 14:19:18.385052166 [ThreadId 74] - hlint:getIdeas:file:NormalizedFilePath "/home/gthomas/Code/evdev/evdev-examples/evtest/Main.hs"
2021-02-12 14:19:18.387873017 [ThreadId 81] - Consulting the cradle for "evdev-examples/evtest/Main.hs"
Output from setting up the cradle Cradle {cradleRootDir = "/home/gthomas/Code/evdev", cradleOptsProg = CradleAction: Cabal}
> Resolving dependencies...
> Build profile: -w ghc-8.10.2 -O1
> In order, the following will be built (use -v for more details):
> - evdev-2.0.0.1 (lib) (configuration changed)
> - evdev-streamly-0.0.1.0 (lib) (configuration changed)
> - evdev-examples-0.1.0.0 (exe:evtest) (configuration changed)
> Configuring library for evdev-2.0.0.1..
> Preprocessing library for evdev-2.0.0.1..
> Building library for evdev-2.0.0.1..
> [5 of 5] Compiling Evdev.Uinput ( src/Evdev/Uinput.hs, /home/gthomas/Code/evdev/dist-newstyle/build/x86_64-linux/ghc-8.10.2/evdev-2.0.0.1/build/Evdev/Uinput.o, /home/gthomas/Code/evdev/dist-newstyle/build/x86_64-linux/ghc-8.10.2/evdev-2.0.0.1/build/Evdev/Uinput.dyn_o )
> Configuring library for evdev-streamly-0.0.1.0..
> Preprocessing library for evdev-streamly-0.0.1.0..
> Building library for evdev-streamly-0.0.1.0..
> Configuring executable 'evtest' for evdev-examples-0.1.0.0..
> Preprocessing executable 'evtest' for evdev-examples-0.1.0.0..
2021-02-12 14:19:37.617026665 [ThreadId 81] - Using interface files cache dir: ghcide
2021-02-12 14:19:37.617107221 [ThreadId 81] - Making new HscEnv[main]
2021-02-12 14:19:37.650001752 [ThreadId 188] - hlint:getIdeas:file:NormalizedFilePath "/home/gthomas/Code/evdev/evdev-examples/evtest/Main.hs"
2021-02-12 14:19:37.65048975 [ThreadId 208] - finish: getSession (took 0.00s)
2021-02-12 14:19:37.650485194 [ThreadId 210] - finish: ModuleName.ghcSession (took 0.00s)
2021-02-12 14:19:37.653188037 [ThreadId 216] - finish: importLens (took 0.00s)
2021-02-12 14:19:37.653380045 [ThreadId 213] - finish: CodeAction (took 0.00s)
2021-02-12 14:19:37.653549347 [ThreadId 216] - finish: splice.codeAction.GitHieAst (took 0.00s)
2021-02-12 14:19:37.653590978 [ThreadId 213] - finish: addPragma (took 0.00s)
2021-02-12 14:19:37.653628629 [ThreadId 216] - finish: Outline (took 0.00s)
2021-02-12 14:19:37.653670346 [ThreadId 213] - finish: HaddockComments.GetAnnotatedParsedSource (took 0.00s)
2021-02-12 14:19:37.65444715 [ThreadId 216] - finish: ModuleName.GetParsedModule (took 0.00s)
2021-02-12 14:19:37.943742516 [ThreadId 216] - finish: codeLens (took 0.29s)
2021-02-12 14:19:37.943712656 [ThreadId 286] - finish: retrie (took 0.29s)
2021-02-12 14:19:37.94405097 [ThreadId 216] - finish: (took 0.29s)
2021-02-12 14:19:37.94523775 [ThreadId 286] - finish: tactic (took 0.30s)
2021-02-12 14:19:37.945737659 [ThreadId 214] - finish: tactic (took 0.00s)
2021-02-12 14:19:37.945883579 [ThreadId 214] - finish: tactic (took 0.00s)
2021-02-12 14:19:38.188846578 [ThreadId 298] - finish: CodeAction:PackageExports (took 0.53s)