[GHC] #13713: fdefer-type-errors makes missing import errors disappear

GHC ghc-devs at haskell.org
Wed May 17 22:02:24 UTC 2017


#13713: fdefer-type-errors makes missing import errors disappear
-------------------------------------+-------------------------------------
        Reporter:  nh2               |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  normal            |            Milestone:
       Component:  Compiler          |              Version:  8.0.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #12529            |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by simonpj):

 Simpler example
 {{{
 {-# LANGUAGE TypeApplications #-}

 module T13713 where

 toVec = withVector (Proxy @Int)
 }}}
 The trouble is this:

 * The out-of-scope variables become deferred errors, which are reported as
 warnings
 * The "Cannot apply..." error is an error that we can't defer, so it stays
 as an error
 * When we have errors and warnings we report only the errors.  So the out
 of scope variables are suppressed when (and only when) they are turned
 into warnings by `-fdefer-type-errors`.

 I'm not quite sure what to do here.  I suppose the errors-that-become-
 warnings (via the defer mechanism) could somehow be made immune to
 suppression by errors that don't become warnings.   That seems like the
 most plausible path to me, but someone would need to do it.

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


More information about the ghc-tickets mailing list