> ghc-4.0?-pre-linux-i386 made from the CVS tree of about June 5 1999
> shows
> ghc -c Bug.hs
> StgVarInfo.lhs:272: Non-exhaustive patterns in function varsExpr
>
> on the program
>
> data D a = D { m :: !(Char -> a -> Bool) }
>
> h :: (b -> a) -> D a -> D b
> h f D {m = b} = D { m = (\x-> (b x).f) }
> --------------------------------------------------------
>
> Removing `!'
> or removing `Char ->' from the format of `m'
> satisfies the compiler.
Thanks for the report. This one has now been fixed; a temporary workaround
is to compile with optimisation on (-O).
Cheers,
Simon