
#14899: Significant compilation time regression between 8.4 and HEAD due to coverage checking -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: (none) Type: bug | Status: new Priority: highest | Milestone: 8.8.1 Component: Compiler | Version: 8.5 Resolution: | Keywords: | PatternMatchWarnings Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Changes (by bgamari): * milestone: 8.6.1 => 8.8.1 Comment: Unfortunately the summary here suggests that the status quo isn't acceptable for release but the future direction is rather unclear. I can see a few possibilities: 1. Teach the coverage checker to bail out (with a warning) if it sees a "large" pattern of this form 2. Allow a TH splice to explicitly request that coverage checking be disabled. This seems like a 3. Add a new `FromTH` `Origin` and a flag allowing the user to choose whether to run the coverage checker on TH splices. 4. Advise users to disable coverage checking in any module affected by the bug 5. Revert ffb2738f86c4e4c3f0eaacf0a95d7326fdd2e383 for 8.6 Frankly, all of these options seem pretty terrible given that this pattern is problematic only due to a (hopefully temporary) limitation of the coverage checker. That being said, we clearly need to do something for 8.6. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14899#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler