[GHC] #10079: Coercible solver regression: Couldn't match rep of () with Const () b
GHC
ghc-devs at haskell.org
Thu Feb 12 13:30:38 UTC 2015
#10079: Coercible solver regression: Couldn't match rep of () with Const () b
-------------------------------------+-------------------------------------
Reporter: glguy | Owner: goldfire
Type: bug | Status: merge
Priority: highest | Milestone: 7.10.1
Component: Compiler (Type | Version: 7.10.1-rc1
checker) | Keywords:
Resolution: | Architecture:
Operating System: Unknown/Multiple | Unknown/Multiple
Type of failure: GHC rejects | Test Case: indexed-
valid program | types/should_compile/T10079
Blocked By: | Blocking:
Related Tickets: | Differential Revisions:
-------------------------------------+-------------------------------------
Comment (by goldfire):
Replying to [comment:9 simonpj]:
> I'm not sure this is right yet.
Of course you're right.
The difference in treatment between wanted/deriveds (where we flatten) and
givens (where we don't) here is inherited from before my patch. Do you
know why this was the case? Regardless, it does seem flattening is always
necessary in the representational case.
New proposal:
`try_decompose_repr_app` will recur to `canEqNC` iff
1. Either side is headed by a newtype, OR
2. Neither side is an `AppTy`.
Should be able to tweak this today.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10079#comment:10>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list