id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
1948,panic compiling associated type synonyms,guest,chak,"Trying to compile this:

{{{
{-# OPTIONS -fglasgow-exts #-}
data Cons a b
data Nil
data Foo a = Foo 
class (Appendt l0 l1 ~ l2) => Append l0 l1 l2 where
    type Appendt l0 l1 :: *
    append :: Foo l0 -> Foo l1 -> Foo l2
instance (Appendt b l1 ~ l2) => Append (Cons a b) l1 (Cons c l2) where
    type Appendt (Cons a b) l1 = Cons a (Appendt b l1)
}}}

gives this error:

{{{
ghc-6.8.1: panic! (the 'impossible' happened)
  (GHC version 6.8.1 for i386-unknown-linux):
        Coercion.splitCoercionKindOf
    base:GHC.Prim.trans{(w) tc 34y}
      (base:GHC.Prim.sym{(w) tc 34v}
         ((main:Main.:CoF:R1Appendt{tc roB})
            a{tv aph} [sk] b{tv ape} [sk] l1{tv apf} [sk]))
      t_apM{tv} [tau]
    <pred>(main:Main.:R1Appendt{tc ros})
            a{tv aph} [sk] b{tv ape} [sk] l1{tv apf} [sk]
            ~
          t_apM{tv} [tau]

Please report this as a GHC bug:  http://www.haskell.org/ghc/reportabug

}}}

i've tried to reduce the code to the minimum that will trigger the panic.",bug,closed,normal,6.10 branch,Compiler,6.8.1,duplicate,typefunction panic,sanzhiyan@…,Unknown/Multiple,Unknown/Multiple,,Unknown,,,,
