[GHC] #14270: GHC HEAD's ghc-stage1 panics on Data.Typeable.Internal
GHC
ghc-devs at haskell.org
Tue Sep 26 13:27:59 UTC 2017
#14270: GHC HEAD's ghc-stage1 panics on Data.Typeable.Internal
-------------------------------------+-------------------------------------
Reporter: hvr | Owner: bgamari
Type: bug | Status: new
Priority: high | Milestone: 8.4.1
Component: Compiler | Version: 8.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: #14236 | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Comment (by simonpj):
I have not reproduced this, but the RULE comes from `SpecConstr`.
Presumably it sees a call to
{{{
mkTrApp @(b_a3RY |> blah) ... (TrTyCon @(b_a3RY |> blah) e1 ...)
}}}
and creates a specialised copy of `mkTrApp`, something like
{{{
$smkTrApp sc1 sc2 sc3 = <body of mkTrApp applied to suitable args>
}}}
along with a RULE to convert calls to `mkTrApp` into calls to `$smkTrApp`,
something like
{{{
RULE "SC:mkTrApp0"
forall sc1 sc2 sc3.
mkTrApp @(b_a3RY |> blah) ... = $smkTrApp sc1 sc2 sc3
}}}
So that's how those casts end up on the LHS of a RULE.
I have not yet figured out why we put a coercion variable in the template
variables.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14270#comment:11>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list