Mon Nov 5 08:13:14 PST 2007 [EMAIL PROTECTED]
* Fix an old but subtle bug in the Simplifier
I got a Core Lint failure when compiling System.Win32.Info in the
Win32 package. It was very delicate: adding or removing a function
definition elsewhere in the module (unrelated to the error) made the
error go away.
Happily, I found it. In SimplUtils.prepareDefault I was comparing an
InId with an OutId. We were getting a spurious hit, and hence doing
a bogus CaseMerge.
This bug has been lurking ever since I re-factored the way that case
expressions were simplified, about 6 months ago!
M ./compiler/simplCore/SimplEnv.lhs -3 +5
M ./compiler/simplCore/SimplUtils.lhs -18 +17
M ./compiler/simplCore/Simplify.lhs -2 +2
_______________________________________________
Cvs-ghc mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/cvs-ghc