Skip to content

Error message parsing issue #183

@walseb

Description

@walseb

I'm using Emacs with LSP mode and static-ls.

If I create a file where I export the operator (||) twice:

{-# LANGUAGE NoImplicitPrelude #-}
module Main
  ( module Main
  , module X) where

import Prelude as X ((||)) 

(||) = undefined 

main = undefined

I get the following error in GHCIWatch:

Main.hs:4:5: error: [GHC-69158]
    Conflicting exports for ‘||’:
       ‘module X’ exports ‘X.||’
         imported from ‘Prelude’ at Main.hs:6:22-25
         (and originally defined in ‘ghc-prim-0.11.0:GHC.Classes’)
       ‘module Main’ exports ‘Main.||’
         defined at src/Main.hs:8:1
  |
4 |   , module X) where
  |     ^^^^^^^^

Which is correct.

However, in my editor, static-ls only sends the following cryptic error:

imported from ‘Prelude’ at Main.hs:6:22-25
(and originally defined in ‘ghc-prim-0.11.0:GHC.Classes’)
defined at Main.hs:8:1

It seems like static-ls has removed all lines with the characters || in them.

Can anyone reproduce this? I have edited what's above slightly to simplify file-names and such. I suspect it's an error in static-ls, but perhaps there could be some strange issue with my setup.

The conflicting exports error displays correctly with any other operator. I believe this to be an issue with parsing the characters ||.

Thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions