Skip to content

Location info for error message with multiple source locations

Currently:

MonadFailErrors.hs:16:5: error:
    • Could not deduce (MonadFail m)
        arising from a do statement
        with the failable pattern ‘Just x’
      from the context: Monad m
        bound by the type signature for:
                   general :: Monad m => m a
at MonadFailErrors.hs:14:1-25

better:

MonadFailErrors.hs:16:5: error:
    • Could not deduce (MonadFail m)
        arising from a do statement
        with the failable pattern ‘Just x’
      from the context: Monad m
        bound by the type signature for:
                   general :: Monad m => m a
MonadFailErrors.hs:14:1-25: defined here 

Rationale:

Code editors (Emacs) react to file paths and line numbers in the first column and provide affordances, like go to file after clicking.

Related work:

Similar mechanism is used by VisualStudio C compiler, gcc, clang. All location information is put in front, so that jump to source code works reliably.

Trac metadata
Trac field Value
Version 8.0.1
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component Compiler
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information