Skip to content
Snippets Groups Projects
Forked from Glasgow Haskell Compiler / GHC
63269 commits behind the upstream repository.
user avatar
Simon Peyton Jones authored
MERGE 4.07

* When float outwards (full laziness) remember to
  switch off the demand flag.  Else we wrongly
  can transform
	\x -> let y __D = (...) in y+x
  into
	let y __D = (...)
	in \x -> y+x
  In the latter, y is not necessarily demanded;
  it depends whether the function is called.  We
  should switch off the demand flag.

  The fix is right at the bottom in SetLevels.subst_id_info
6e04c7e8
History