[GHC] #597: Various error messages have inaccurate source locations

GHC trac at galois.com
Fri Oct 20 12:09:15 EDT 2006


#597: Various error messages have inaccurate source locations
----------------------+-----------------------------------------------------
 Reporter:  simonmar  |          Owner:                  
     Type:  task      |         Status:  new             
 Priority:  normal    |      Milestone:  6.8             
Component:  Compiler  |        Version:  None            
 Severity:  normal    |     Resolution:  None            
 Keywords:            |     Difficulty:  Moderate (1 day)
 Testcase:            |   Architecture:  Unknown         
       Os:  Unknown   |  
----------------------+-----------------------------------------------------
Changes (by igloo):

  * milestone:  => 6.8
  * testcase:  =>

Old description:

> {{{
> Some error messages lack source location information, or have inaccurate
> locations.    Here are the ones we know about:
>
> * Should point to the import decl:
>   ShowFunctions.hs:1:0
>     Warning: Module `Text.Show.Functions' is imported, but nothing from
> it is used
>
> * Should point to the instance header:
>   mod41.hs:3:0:
>       Illegal instance declaration for `Eq (Either a a)'
>         (The instance type must be of form (T a b c)
>
> * Should point to 'deriving *Eq*', not the tycon:
>   tcfail046.hs:9:8:
>     No instance for `Eq (Pid -> Time -> Message a -> (MessList a,
> Continuation a
> ))'
>     When deriving the `Eq' instance for type `Continuation'
>
> * check_tau_type doesn't have location info?
>   tcfail100.hs:7:0:
>       Type synonym `A' should have 1 argument, but has been given 0
>       In the type synonym declaration for `B'
>
> * Location in LHsModule from the parser should really span the whole
>   file, rather than a point span at (1,0).
>
> * read016: should be the lhs only?
> * tcfail044: should be the instance head only.
>

> }}}

New description:

 Some error messages lack source location information, or have inaccurate
 locations.    Here are the ones we know about:

  * Should point to the import decl:
    ShowFunctions.hs:1:0
      Warning: Module `Text.Show.Functions' is imported, but nothing from
 it is used

  * Should point to the instance header:
    mod41.hs:3:0:
        Illegal instance declaration for `Eq (Either a a)'
          (The instance type must be of form (T a b c)

  * Should point to 'deriving *Eq*', not the tycon:
    tcfail046.hs:9:8:
      No instance for `Eq (Pid -> Time -> Message a -> (MessList a,
 Continuation a
 ))'
      When deriving the `Eq' instance for type `Continuation'

  * check_tau_type doesn't have location info?
    tcfail100.hs:7:0:
        Type synonym `A' should have 1 argument, but has been given 0
        In the type synonym declaration for `B'

  * Location in LHsModule from the parser should really span the whole
 file, rather than a point span at (1,0).

  * read016: should be the lhs only?
  * tcfail044: should be the instance head only.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/597>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list