#9953: Pattern synonyms don't work with GADTs -------------------------------------+------------------------------------- Reporter: simonpj | Owner: cactus Type: bug | Status: closed Priority: normal | Milestone: 7.10.1 Component: Compiler (Type | Version: 7.10.1-rc1 checker) | Keywords: Resolution: fixed | PatternSynonyms Operating System: Unknown/Multiple | Architecture: | Unknown/Multiple Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Revisions: -------------------------------------+------------------------------------- Comment (by simonpj): OK. I believe the "expect-broken" is because we get (odd-looking) error {{{ T8968-1.hs:8:9: warning: Redundant constraint: Maybe a ~ Maybe a In the type signature for: C :: a -> X Maybe (Maybe a) }}} Now one of the minor changes in {{{ commit 953648127cea2836ec134b03a966695ac0b36434 Author: Simon Peyton Jones <simonpj@microsoft.com> Date: Wed Aug 5 14:24:54 2015 +0100 Tidy up and refactor wildcard handling }}} was to add a new `UserTypeCtxt` for pattern synonyms, namely `PatSynCtxt`. Previously I used `FunSigCtxt`. Then in `TcSimplify.warnRedundantGivens` I treat `PatSynCtxt` (like most others) as "do't report redundant constraints". So the behaviour changes: redundant constraints are no longer reported for pattern synonyms. So, just remove the expect-broken; it's fine for them to pass. I suppose that warning abour redundant constraints in pattern-synonym signatures might be a good thing, but that's a battle for another day. -- Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9953#comment:22> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler