
#9117: Coercible constraint solver misses one -------------------------------------+------------------------------------ Reporter: goldfire | Owner: nomeata Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.8.2 Resolution: | Keywords: Operating System: Unknown/Multiple | Architecture: Unknown/Multiple Type of failure: None/Unknown | Difficulty: Unknown Test Case: | Blocked By: Blocking: | Related Tickets: -------------------------------------+------------------------------------ Comment (by nomeata):
So, we actually already have an ordering dependence on the cases, in order to avoid dead ends -- but we didn't realize it!
Well spotted. The fix for this should be simple, just re-order the cases in `getCoercibleInst`. I also believe that unwrapping `newtype`s should be strictly more powerful than the other. I’m still with Simon’s worries about changing situation. It is not coherence that we need to worry about, but, as you have just demonstrated, solvability. Adding the eta-contraction might give new possibilities to run into dead ends. But I’m still not able to give a good example of what I mean, so I guess I could just implement this and we’ll see what happens. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9117#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler