
#8894: Clean up `Coercible` plumbing -------------------------------------+------------------------------------ Reporter: nomeata | Owner: Type: task | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.9 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: #8904 -------------------------------------+------------------------------------ Changes (by nomeata): * status: closed => new * resolution: fixed => Comment:
All this should work because Coercible and coerce are "wired-in" things, and so they are never written to an interface file
Woudn’t they get written to `GHC.Types` hi interface? Also, would the info table for `MkCoerce` (or however it would be called then) without fields match ours? This requires knowledge of the RTS that I don’t have, so I felt safer with this approach, but if you think it might work, it’s worth a try. (I’d be tempted to put them in a module `GHC.Coerce` in `ghc-prim` and have `Data.Coerce` in `base` re-export it, to slowly work towards having no magic in base, but that is a minor point.) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8894#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler