[GHC] #15499: Panic in occurence analysis phase (?), getRuntimeRep
GHC
ghc-devs at haskell.org
Fri Aug 17 15:48:24 UTC 2018
#15499: Panic in occurence analysis phase (?), getRuntimeRep
-------------------------------------+-------------------------------------
Reporter: _deepfire | Owner: RyanGlScott
Type: bug | Status: patch
Priority: high | Milestone: 8.4.4
Component: Compiler | Version: 8.4.3
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
Type of failure: Compile-time | Unknown/Multiple
crash or panic | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D5060
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Krzysztof Gogolewski <krz.gogolewski@…>):
In [changeset:"63b6a1d44849c479d2a7cb59211f5c64d133bc62/ghc"
63b6a1d4/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="63b6a1d44849c479d2a7cb59211f5c64d133bc62"
Be mindful of GADT tyvar order when desugaring record updates
Summary:
After commit ef26182e2014b0a2a029ae466a4b121bf235e4e4,
the type variable binders in GADT constructor type signatures
are now quantified in toposorted order, instead of always having
all the universals before all the existentials. Unfortunately, that
commit forgot to update some code (which was assuming the latter
scenario) in `DsExpr` which desugars record updates. This wound
up being the cause of #15499.
This patch makes up for lost time by desugaring record updates in
a way such that the desugared expression applies type arguments to
the right-hand side constructor in the correct order—that is, the
order in which they were quantified by the user.
Test Plan: make test TEST=T15499
Reviewers: simonpj, bgamari
Reviewed By: simonpj
Subscribers: rwbarton, carter
GHC Trac Issues: #15499
Differential Revision: https://phabricator.haskell.org/D5060
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15499#comment:8>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list