id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
2212	Double assignment to coercion variable	simonpj	chak	"Test `gadt/equal` is failing with
{{{
ghc-6.9: panic! (the 'impossible' happened)
  (GHC version 6.9 for x86_64-unknown-linux):
	ASSERT failed! file typecheck/TcMType.lhs line 520 t_aaS{tv} [tau]
}}}
(You may not see this if you don't build a DEBUG compiler.)

The problem is that the same coercion variable is being assigned a value twice.  Here it is with more info printed, showing the existing and new coercions
{{{
ghc-6.9: panic! (the 'impossible' happened)
  (GHC version 6.9 for x86_64-unknown-linux):
	writeMetaTyVar
    t_aaS{tv} [tau] 
                    ghc-prim:GHC.Prim.trans{(w) tc 34y}
                      t_abf{tv} [tau]
                      (ghc-prim:GHC.Prim.sym{(w) tc 34v} $co${tc abb} [tv])

                    ghc-prim:GHC.Prim.trans{(w) tc 34y}
                      (ghc-prim:GHC.Prim.trans{(w) tc 34y}
                         (ghc-prim:GHC.Prim.trans{(w) tc 34y}
                            $co${tc ab2} [tv] (a{tv aaz} [sk], $co${tc aaV} [tv]))
                         ($co${tc aaY} [tv], b{tv aay} [sk]))
                      t_ab8{tv} [tau]

}}}"	bug	closed	normal	6.10 branch	Compiler	6.8.2	fixed			Unknown/Multiple	Unknown/Multiple		Unknown	equal			
