[GHC] #11330: Test `dynamic-paper` fails with core lint error (hpc) and "Simplifier ticks exhausted" (optasm)
GHC
ghc-devs at haskell.org
Tue Jan 26 10:48:36 UTC 2016
#11330: Test `dynamic-paper` fails with core lint error (hpc) and "Simplifier ticks
exhausted" (optasm)
-------------------------------------+-------------------------------------
Reporter: thomie | Owner: simonpj
Type: bug | Status: new
Priority: high | Milestone: 8.0.1
Component: Compiler | Version: 7.11
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
| dependent/should_compile/dynamic-
| paper
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by Simon Peyton Jones <simonpj@…>):
In [changeset:"016a0bd1ba129134dfa612db0d96e01644fa7b9f/ghc"
016a0bd1/ghc]:
{{{
#!CommitTicketReference repository="ghc"
revision="016a0bd1ba129134dfa612db0d96e01644fa7b9f"
Fix two cloning-related bugs
Crikey! Not just one but two bugs in type variable cloning,
both dating from the days before PolyKinds. Both were shown up
by Trac #11330.
1. In SetLevels, when floating a case expression we must clone its
binders, *and* do so in a telescope-aware way, because the
constructor may bind a kind variable that appears in the kind
of a type variable.
Instead of doing this (wrongly) by steam, call CoreSubst.cloneBndrs.
I added Notes and did other refactoring at the same time.
2. It turned out that CoreSubst.cloneBndrs calls TyCoRep.cloneTyVarBndr,
and that too was bogus! It didn't substitute in the kind of the
TyVar being cloned. There was even a comment to say "variables can't
appear in kinds". Thta hasn't been true for a long time now.
Easily fixed.
Interestingly, I then found that test
dependent/should_compile/KindEqualities
was emitting a new inexhaustive-pattern-match warning. Sure enough
it was valid! So the lack of cloning in cloneTyVarBndr really was
causing an observable bug; just one that we had not observed.
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11330#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list