[GHC] #11523: Infinite Loop when mixing UndecidableSuperClasses and the class/instance constraint synonym trick.

GHC ghc-devs at haskell.org
Mon Feb 8 15:07:25 UTC 2016


#11523: Infinite Loop when mixing UndecidableSuperClasses and the class/instance
constraint synonym trick.
-------------------------------------+-------------------------------------
        Reporter:  ekmett            |                Owner:
            Type:  bug               |               Status:  new
        Priority:  highest           |            Milestone:  8.0.1
       Component:  Compiler (Type    |              Version:  8.0.1-rc1
  checker)                           |             Keywords:
      Resolution:                    |  UndecidableSuperClasses
Operating System:  Unknown/Multiple  |         Architecture:
 Type of failure:  GHC rejects       |  Unknown/Multiple
  valid program                      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #11480            |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

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

 In [changeset:"43e02d1270701a1043be67f078cf2b1a85047feb/ghc"
 43e02d12/ghc]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="43e02d1270701a1043be67f078cf2b1a85047feb"
 Fix a nasty superclass expansion bug

 This patch fixes Trac #11523.

 * The basic problem was that TcRnTypes.superClassesMightHelp was
   returning True of a Derived constraint, and that led to us
   expanding Given superclasses, which produced the same Derived
   constraint again, and so on infinitely.  We really want to do
   this only if there are unsolve /Wanted/ contraints!

 * On the way I made TcSMonad.getUnsolvedInerts a bit more
   discriminating about which Derived equalities it returns;
   see Note [Unsolved Derived equalities] in TcSMonad

 * Lots of new comments in TcSMonad.
 }}}

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


More information about the ghc-tickets mailing list