[GHC] #11265: Internal error, using pattern synonym as instance head
GHC
ghc-devs at haskell.org
Wed Dec 23 08:04:57 UTC 2015
#11265: Internal error, using pattern synonym as instance head
-------------------------------------+-------------------------------------
Reporter: Iceland_jack | Owner: simonpj
Type: bug | Status: closed
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.3
Resolution: fixed | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
| patsyn/should_fail/T11265
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by simonpj):
* testcase: => patsyn/should_fail/T11265
* status: new => closed
* resolution: => fixed
Comment:
Thanks for reporting this, with a nice small repro case.
Fixed by
{{{
commit c069be815aa0bce2eb2c9621a36f114badda2318
Author: Simon Peyton Jones <simonpj at microsoft.com>
Date: Mon Dec 21 14:18:32 2015 +0000
Add a pattern-syn form of PromotionErr
The main change is to add PatSynPE to PromotionErr, so that
when we get an ill-staged use of a pattern synonym we get a
civilised error message.
We were already doing this in half-baked form in tcValBinds, but
this patch tidies up the impl (which previously used a hack rather
than APromotionErr), and does it in tcTyClsInstDecls too.
>---------------------------------------------------------------
c069be815aa0bce2eb2c9621a36f114badda2318
compiler/hsSyn/HsBinds.hs | 15 ----
compiler/typecheck/TcBinds.hs | 53 +++--------
compiler/typecheck/TcEnv.hs | 103
+++++++++++++++++++++-
compiler/typecheck/TcHsType.hs | 1 +
compiler/typecheck/TcRnDriver.hs | 80 ++++++-----------
compiler/typecheck/TcRnTypes.hs | 5 ++
testsuite/tests/patsyn/should_fail/T11265.hs | 6 ++
testsuite/tests/patsyn/should_fail/T11265.stderr | 6 ++
testsuite/tests/patsyn/should_fail/T9161-1.stderr | 7 +-
testsuite/tests/patsyn/should_fail/T9161-2.stderr | 3 +-
testsuite/tests/patsyn/should_fail/all.T | 1 +
11 files changed, 163 insertions(+), 117 deletions(-)
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11265#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list