Commit 9832b556 authored by simonpj@microsoft.com's avatar simonpj@microsoft.com
Browse files

Reset the demand info on bindings going to top level (since they cannot be strict)

parent 42b37bc4
......@@ -842,9 +842,11 @@ cloneRecVars NotTopLevel env@(_,_,subst,_) vs ctxt_lvl dest_lvl
returnUs (env', vs2)
-- VERY IMPORTANT: we must zap the demand info
-- if the thing is going to float out past a lambda
-- if the thing is going to float out past a lambda,
-- or if it's going to top level (where things can't be strict)
zap_demand dest_lvl ctxt_lvl id
| ctxt_lvl == dest_lvl = id -- Stays put
| otherwise = zapDemandIdInfo id -- Floats out
| ctxt_lvl == dest_lvl,
not (isTopLvl dest_lvl) = id -- Stays, and not going to top level
| otherwise = zapDemandIdInfo id -- Floats out
\end{code}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment