[GHC] #15441: Data type with phantoms using TypeInType isn't coercible

GHC ghc-devs at haskell.org
Thu Jul 26 16:02:07 UTC 2018


#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


More information about the ghc-tickets mailing list