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

GHC trac at galois.com
Sat Jan 2 16:39:08 EST 2010


#597: Various error messages have inaccurate source locations
-----------------------------------------+----------------------------------
  Reporter:  simonmar                    |          Owner:                  
      Type:  task                        |         Status:  new             
  Priority:  low                         |      Milestone:  _|_             
 Component:  Compiler                    |        Version:  None            
Resolution:  None                        |       Keywords:                  
Difficulty:  Moderate (less than a day)  |             Os:  Unknown/Multiple
  Testcase:                              |   Architecture:  Unknown/Multiple
   Failure:  None/Unknown                |  
-----------------------------------------+----------------------------------
Changes (by igloo):

  * failure:  => None/Unknown

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#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list