
#8767: Add rules involving `coerce` to the libraries -------------------------------------+------------------------------------- Reporter: nomeata | Owner: Type: task | Status: new Priority: normal | Milestone: 7.10.1 Component: | Version: 7.9 libraries/base | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Unknown Unknown/Multiple | Blocked By: 8718 Type of failure: | Related Tickets: #2110 None/Unknown | Test Case: | tests/simplCore/should_run/T2110.hs| Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- Comment (by nomeata):
Is this thread about making a workaround for that?
No. Or, not mainly.
Is the reason that it's complicated because some functors have nominal roles? (Maybe a SortedList would break if you changed out Ord instances under it?) Or is there more to it than that?
Precisely: We don’t know about the roles of type variables, so we cannot lift coercions through them. I believe that a subsequent design of the system that will be able to cope with Monad’s `join` might be able to handle that, but I’m not up on that. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/8767#comment:18 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler