id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc,os,architecture,failure,difficulty,testcase,blockedby,blocking,related
1287,SPECIALIZE causes panic,komuves@…,igloo,"the following code snippet makes GHC (6.6) panic:

{{{
delta' :: Eq a => a -> a -> b -> b -> b
delta' x y e f = if (x==y) then f else e
{-# SPECIALIZE delta' :: Num b => Int -> Int -> b -> b -> b #-} 		

delta :: (Eq a, Num b) => a -> a -> b
delta x y = delta' x y 0 1
{-# SPECIALIZE delta :: Num b => Int -> Int -> b #-} 		
}}}

the reply from GHC:

{{{
ghc-6.6: panic! (the 'impossible' happened)
  (GHC version 6.6 for i386-apple-darwin):
        Template variable unbound in rewrite rule $dNum{v a1bL} [lid]
}}}

it does not panic without the SPECIALIZE pragmas.

the version used is GHC 6.6, i386-apple-darwin.",bug,closed,normal,6.8.1,Compiler,6.6,fixed,"panic, SPECIALIZE",,Unknown/Multiple,Unknown/Multiple,,Unknown,simpl016,,,
