[GHC] #8503: New GeneralizedNewtypeDeriving check still isn't permissive enough
GHC
ghc-devs at haskell.org
Wed Nov 20 13:24:09 UTC 2013
#8503: New GeneralizedNewtypeDeriving check still isn't permissive enough
-------------------------------------+------------------------------------
Reporter: goldfire | Owner: goldfire
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.7
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets: #8541
-------------------------------------+------------------------------------
Comment (by nomeata):
I have something that is roughly working, enough to notice problems. While
it successfully prevents `Coercible Fix (Either Int)` from looping or
generating recursive dictionaries, it does not help a lot against
{{{
newtype Void a = Void (Void (a,a))
foo5 = coerce :: Void () -> ()
}}}
Even with a depth of 20, this filly up my memory quickly, especially
trying to print the final constraint.
Do we have to live with the fact that there will likely always be ways to
make the compiler use too many resources? Or should coercing recursive
newtypes require `UndecidableInstances` to be enabled?
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8503#comment:27>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list