[GHC] #15473: GHC 8.6+ loops infinitely on an UndecidableInstances error message

GHC ghc-devs at haskell.org
Thu Aug 23 11:29:35 UTC 2018


#15473: GHC 8.6+ loops infinitely on an UndecidableInstances error message
-------------------------------------+-------------------------------------
        Reporter:  RyanGlScott       |                Owner:  (none)
            Type:  bug               |               Status:  new
        Priority:  highest           |            Milestone:  8.6.1
       Component:  Compiler (Type    |              Version:  8.5
  checker)                           |
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  Compile-time      |  Unknown/Multiple
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Simon Peyton Jones <simonpj@…>):

 In [changeset:"8c7f90abcc1e8f9f29b751f23174e8db89ba6983/ghc" 8c7f90a/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="8c7f90abcc1e8f9f29b751f23174e8db89ba6983"
 Fix a typo in TcValidity.checkFamInstRhs

 In error message generation we were using the wrong
 type constructor in inst_head.  Result: the type became
 ill-kinded, and that sent the compiler into a loop.

 A separate patch fixes the loop. This patch fixes the
 actual bug -- Trac #15473.

 I also improved the "occurs more often" error message
 a bit.  But it's still pretty terrible:

     * Variable ‘a’ occurs more often
       in the type family application ‘Undefined’
       than in the instance head ‘LetInterleave xs t ts is y z’

 It looks like nonsense, but all becomes clear if you use
 -fprint-explicit-kinds.  Really we should fix this by spotting
 when invisible arguments are involved and at least suggesting
 -fprint-explicit-kinds.
 }}}

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


More information about the ghc-tickets mailing list