#12522: GHC 8.0.1 hangs, looping forever in type-checker -------------------------------------+------------------------------------- Reporter: clinton | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by Simon Peyton Jones <simonpj@…>): In [changeset:"b255ae7b555b4b63085a6de4a7a6bd742326b9c9/ghc" b255ae7b/ghc]: {{{ #!CommitTicketReference repository="ghc" revision="b255ae7b555b4b63085a6de4a7a6bd742326b9c9" Orient improvement constraints better This patch fixes an infinite loop in the constraint solver, shown up by Trac #12522. The solution is /very/ simple: just reverse the orientation of the derived constraints arising from improvement using type-family injectivity. I'm not very proud of the fix --- it seems fragile --- but it has the very great merit of simplicity, and it works fine. See Note [Improvement orientation] in TcInteract, and some discussion on the Trac ticket. }}} -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12522#comment:16> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler