
#13782: Bullish use of Template Haskell's newName causes GHC internal error -------------------------------------+------------------------------------- Reporter: RyanGlScott | Owner: carlostome Type: bug | Status: patch Priority: high | Milestone: 8.2.1 Component: Template Haskell | Version: 8.0.1 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: Compile-time | Unknown/Multiple crash or panic | Test Case: Blocked By: | Blocking: Related Tickets: #12503 | Differential Rev(s): Phab:D3641 Wiki Page: | -------------------------------------+------------------------------------- Comment (by simonpj): I agree with Richard's comment that the fix is suspicous. For now, let's just dump the `OccSets` entirely, and filter the `RdrName` lists. This will actually be more efficient in the common case of small sets. If we find programs with zillions of foralls we can deal with it then. Incidentally, even as it stands we call `nub` on these lists, and there is lots of appending, which is equally quadratic. I believe, but I am not sure, that `fkfv_all = fktv_kis ++ kktv_tys`. Assuming so, let's dump `fktv_all` too leaving only two fields, and just append when needed. Unless the ''order'' is significant? Nothing in the comments suggest that it is. Richard? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/13782#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler