[GHC] #10184: Coercible solver incomplete with recursive newtypes
GHC
ghc-devs at haskell.org
Mon Mar 23 14:00:27 UTC 2015
#10184: Coercible solver incomplete with recursive newtypes
-------------------------------------+-------------------------------------
Reporter: goldfire | Owner:
Type: bug | Status: new
Priority: low | Milestone: ⊥
Component: Compiler | Version: 7.10.1-rc3
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple | Blocked By:
Test Case: | Related Tickets:
Blocking: |
Differential Revisions: |
-------------------------------------+-------------------------------------
The following module fails to compile due to infinite recursion:
{{{
import Data.Coerce
newtype Bar a = Bar (Either a (Bar a))
newtype Age = MkAge Int
x :: Bar Age
x = coerce (Bar (Left (5 :: Int)))
}}}
It tries to coerce `Bar Int` to `Bar Age`. This is clearly doable, via
tyconapp decomposition. But we don't find it. Before worrying too much
about it, though, we'll wait for a real example.
Do speak up if this problem is ruining your day!
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10184>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list