
#10627: Regression: cabal install of numeric-prelude hangs -------------------------------------+------------------------------------- Reporter: George | Owner: Type: bug | Status: new Priority: high | Milestone: 7.10.2 Component: Compiler | Version: 7.10.2-rc2 Resolution: | Keywords: Operating System: MacOS X | Architecture: Type of failure: Compile-time | Unknown/Multiple crash | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Changes (by simonpj): * cc: ghc@…, george (removed) * os: Unknown/Multiple => MacOS X Comment: Amazing. I couldn't resist looking at this, and it seems to be a very long-standing bug, introduced I think by {{{ commit 30c17e7096919c55218083c8fcb98e6287552058 Author: simonpj@microsoft.com <unknown> Date: Thu Nov 25 17:23:56 2010 +0000 Substitution should just substitute, not optimise This was causing Trac #4524, by optimising (e |> co) to e on the LHS of a rule. Result, the template variable 'co' wasn't bound any more. Now that substition doesn't optimise, it seems sensible to call simpleOptExpr rather than substExpr when substituting in the RHS of rules. Not a big deal either way. }}} The last para says "optimise the RHS of rules when substituting", but that is too strict in the `IdInfo` of an `Id` if the RULE refers to the same `Id`. I don't know how this ever worked. Patch coming. Simon -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10627#comment:16 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler