
#10158: Panic compiling singletons: StgCmmEnv: variable not found -------------------------------------+------------------------------------- Reporter: trommler | Owner: Type: bug | Status: new Priority: highest | Milestone: 7.12.1 Component: Compiler | Version: 7.11 (CodeGen) | Keywords: Resolution: | Architecture: Operating System: Unknown/Multiple | Unknown/Multiple Type of failure: Compile-time | Test Case: crash | Blocking: Blocked By: | Differential Revisions: Related Tickets: | -------------------------------------+------------------------------------- Comment (by simonpj): I nailed this one. This diff fixes it. It was a missing 'runFlatten'. However I propose not to commit a fix, because Richard's D653 refactors all that code and, I'm 99% certain, fixes the bug in a better way. I would like D653 to land though. Richard is planning to do that on Monday Simon {{{ Modified compiler/typecheck/TcInteract.hs diff --git a/compiler/typecheck/TcInteract.hs b/compiler/typecheck/TcInteract.hs index e83709c..4d4b31c 100644 --- a/compiler/typecheck/TcInteract.hs +++ b/compiler/typecheck/TcInteract.hs @@ -1420,6 +1420,7 @@ shortCutReduction old_ev fsk ax_co fam_tc tc_args | otherwise = ASSERT( not (isDerived old_ev) ) -- Caller ensures this ASSERT( ctEvEqRel old_ev == NomEq ) + runFlatten $ do { (xis, cos) <- flattenManyNom old_ev tc_args -- ax_co :: F args ~ G tc_args -- cos :: xis ~ tc_args }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10158#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler