[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