Marc van Dongen writes:
> Hi,
> 
> While I was constructing an example for ghc-users, I created the following
> program which crashed ghc-2.03.
> 
> > module Tmp( g ) where
> 
> > data AB p q = A
> >             | B p q
> 
> > g :: (Ord p,Ord q) => (AB p q) -> Bool
> > g (B _ _)
> >   = g A
> 
>   tmp.lhs:6: 
>       Warning: Possibly incomplete patterns in the definition of function `g'
> 
>   zonkIdOcc: g_aoQ
> 
>   panic! (the `impossible' happened):
>           lookupBindC:no info!
>   for: g_aoQ
>   (probably: data dependencies broken by an optimisation pass)
>   static binds for:
>   Tmp.$d1{-rmM,x-}
>   local binds for:
> 

Hi,

sorry for being a bit slow - this panic has been cured in ghc-2.04,
you'll now instead get a type error about overloading being ambiguous.

I notice that the Hugs type checker accepts `g' above, but I'll leave
it to others to pass judgement on what is the right behaviour.

--Sigbjorn

Reply via email to