[GHC] #10031: coerce can cause compiler to loop
GHC
ghc-devs at haskell.org
Tue Jan 27 11:24:41 UTC 2015
#10031: coerce can cause compiler to loop
-------------------------------------+-------------------------------------
Reporter: glguy | Owner: goldfire
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.10.1-rc1
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: x86_64
Type of failure: Compile-time | (amd64)
crash | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Revisions:
-------------------------------------+-------------------------------------
Comment (by nomeata):
Confirmed with GHC HEAD.
Here is the repeating tail of `-ddump-tc-trace` (not sure if it is useful)
{{{
updWorkList
WL {Eqs = [G] cobox_am7 :: Coercible
b_am6[sk] a_am5[sk] (CTyEqCan)}
Start solver pipeline {
work item = [G] cobox_am7 :: Coercible
b_am6[sk] a_am5[sk] (CTyEqCan)
inerts = Equalities: [G] cobox_amr :: Coercible
b_amq[sk] a_amp[sk]
(CTyEqCan)
Type-function equalities:
Dictionaries:
Irreds:
Insolubles = {}
Solved dicts
runStage canonicalization {
workitem = [G] cobox_am7 :: Coercible
b_am6[sk] a_am5[sk] (CTyEqCan)
canEqTyVar
b_am6[sk]
a_am5[sk]
Not-swapped
flattenTyVar1
a_am5[sk]
*
canEqTyVar flat LHS
b_am6[sk]
b_am6[sk]
a_am5[sk]
Not-swapped
a_am5[sk]
end stage canonicalization }
runStage interact with inerts {
workitem = [G] cobox_am7 :: Coercible
b_am6[sk] a_am5[sk] (CTyEqCan)
Can't solve tyvar equality
LHS: b_am6[sk] :: *
RHS: a_am5[sk] :: *
TcLevel = 3
Kick out, tv = b_am6[sk]
n-kicked = 1
n-kept fun-eqs = 0
WL {Eqs = [G] cobox_amr :: Coercible
b_amq[sk] a_amp[sk] (CTyEqCan)}
end stage interact with inerts }
1832[U:3<C:0,F:0>] Kept as inert (1 kicked out):
[G] cobox_am7 :: Coercible b_am6[sk] a_am5[sk]
End solver pipeline (discharged) }
inerts = Equalities: [G] cobox_am7 :: Coercible
b_am6[sk] a_am5[sk] (CTyEqCan)
Type-function equalities:
Dictionaries:
Irreds:
Insolubles = {}
Solved dicts
updWorkList
WL {Eqs = [G] cobox_amr :: Coercible
b_amq[sk] a_amp[sk] (CTyEqCan)}
}}}
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/10031#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list