Fix apparently-long-standing bug in FloatIn
authorsimonpj@microsoft.com <unknown>
Wed, 10 Jan 2007 11:13:44 +0000 (11:13 +0000)
committersimonpj@microsoft.com <unknown>
Wed, 10 Jan 2007 11:13:44 +0000 (11:13 +0000)
commitf53e3de5fac3c5eb12f94ee6b26488b1d07d361e
treecd1a248134ba6f160299e5eeaf4a5fe20d48aaf7
parent9bf6bfbdb0aed2e5ceda31d9af915ad14a2bf78e
Fix apparently-long-standing bug in FloatIn

The float-in pass wasn't doing the right thing when you have

let x{rule mentions y} = rhs in body

It allowed a binding mentioning y to float into the body, which is
obviously wrong.  I think this bug has been there a long time; I don't
really know why it has not come up before.

It showed up when compiling Text.Regex.Base.Context with WAY=p in
package regex-base.
compiler/simplCore/FloatIn.lhs