
#10405: Pattern synonym fails with (Exp Bool) but works with (t ~ Bool => Exp t) -------------------------------------+------------------------------------- Reporter: Iceland_jack | Owner: Type: bug | Status: closed Priority: normal | Milestone: Component: Compiler (Type | Version: 7.10.1-rc1 checker) | Keywords: Resolution: invalid | Architecture: x86 Operating System: Linux | Test Case: Type of failure: GHC rejects | Blocking: valid program | Differential Revisions: Blocked By: | Related Tickets: | -------------------------------------+------------------------------------- Changes (by rwbarton): * status: new => closed * resolution: => invalid Comment: I think this is all expected behavior, although the syntax is confusing. See https://downloads.haskell.org/~ghc/latest/docs/html/users_guide /syntax-extns.html#idp23521760 and especially the item "In the common case where CReq is empty, (), it can be omitted altogether." In fact, your example is very similar to the last item under 7.3.9.3. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10405#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler