[GHC] #16401: Bad error message if we use TypeApplications with an identifier that doesn't exist

GHC ghc-devs at haskell.org
Thu Mar 7 00:12:34 UTC 2019


#16401: Bad error message if we use TypeApplications with an identifier that
doesn't exist
-------------------------------------+-------------------------------------
           Reporter:  Fuuzetsu       |             Owner:  (none)
               Type:  bug            |            Status:  new
           Priority:  normal         |         Milestone:
          Component:  Compiler       |           Version:  8.6.3
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 {{{#!hs
 {-# LANGUAGE TypeApplications #-}
 {-# LANGUAGE DataKinds #-}
 module BadError where

 foo :: Int
 foo = doesNotExist @123

 {-
 [1 of 1] Compiling BadError         ( BadError.hs, BadError.o )

 BadError.hs:6:7: error:
     • Cannot apply expression of type ‘t1’
       to a visible type argument ‘123’
     • In the expression: doesNotExist @123
       In an equation for ‘foo’: foo = doesNotExist @123
   |
 6 | foo = doesNotExist @123
 -}
 }}}

 What I would expect is for it to say that {{{doesNotExist}}} is not bound
 as one might reasonably expect. This is very, very confusing and easy to
 hit in real life. If you are exposing a function {{{f}}}, using it
 somewhere with {{{f @123}}} but then later decide to remove or rename
 {{{f}}}, the error message doesn't suggest at all that {{{f}}} has
 disappeared and leaves the user scratching their head.

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


More information about the ghc-tickets mailing list