
#8569: ASSERT in testcase type-rep, only in some ways: -------------------------------------+------------------------------------ Reporter: nomeata | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Test Suite | Version: 7.7 Resolution: wontfix | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Changes (by nomeata): * status: new => closed * resolution: => wontfix Comment: Guess I did not update the ticket after later discussions. I believe that this is currently a wontfix: * The demand analyser is quite untyped, so in the example in comment:3, where the two branches of a case happen to have quite different types (one being a product, and one not) can only be handled on a best effort basis. Therefore, the code needs to cope with situations where a product demand does not have the right number of components for the constructor at hand. That is also the reason why `lubStr (SCall _) (SProd _)` should not panic. * The `Note [Don't optimise UProd(Used) to Used]` continues to be relevant: We differentiate these semantically equivalent terms to get some insight about how a product is being used. I believe the test suite is now set up to reflect this, i.e. type-rep will expectedly fail when GHC is compiled with `-DDEBUG` *and* the way is an optimizing way. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8569#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler