
#14880: GHC panic: updateRole -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: goldfire Type: bug | Status: new Priority: normal | Milestone: Component: Compiler (Type | Version: 8.2.2 checker) | Resolution: | Keywords: TypeInType Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #15076 | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): In a call today Richard and Simon decided: * Kill 1decideKindGeneralisationPlan`; instead always generalise. (Explain why we don't need to worry about local generalisation as we do with terms.) * And hence kill `tc_hs_sig_type`, leaving `tc_hs_sig_type_and_gen` * `tc_hs_sig_type_and_gen` should not call `solveEqualities` (which fails if there are unsolved equalities) * Instead call `solveLocalEqualities`, gather unsolved equalities, and do not quantify over their free vars. NB: `tcImplicitTKBndrs` already calls `solveLocalEqualities`, and must do so. Needs a Note to explain why: it's so that we can top-sort the bound variables * Promote all the free vars of the unsolved constraints. '''Principle''': all free vars should either be generalised or promoted. * Get rid of `zonkPromote` and friends altogether -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14880#comment:17 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler