
#15441: Data type with phantoms using TypeInType isn't coercible -------------------------------------+------------------------------------- Reporter: glittershark | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: 8.6.1 Component: Compiler | Version: 8.4.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Type of failure: GHC rejects | Unknown/Multiple valid program | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -------------------------------------+------------------------------------- Comment (by goldfire): You're implicitly suggesting that the first parameter to `Bar` can be assigned a phantom role. Currently, all dependent parameters are assigned a nominal role. Perhaps you're right that a phantom role there would be sound, but we have not worked out the theory fully for this case. Inferring nominal there is safe, so that's what we do today. Perhaps tomorrow, we'll do better, but we'll need a big proof before we can do it with confidence. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15441#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler