id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	os	architecture	failure	difficulty	testcase	blockedby	blocking	related
5550	GHC infinite loop when compiling vector	simonpj		"Bas reports: When benchmarking my new [https://github.com/basvandijk/vector-bytestring vector-bytestring] package I discovered that building the following program causes GHC to go into, what seems to be, an infinite loop:
{{{
import Data.Vector (Vector)
import qualified Data.Vector.Generic as VG

main = print $ VG.foldl f z (VG.fromList [] :: Vector Int)

f = flip (:)
z = []
}}}
I build it with:
{{{
$ ghc --make vectorGHCloop.hs -O2
}}}
It compiles fine without the -O2 or if you specify `-fno-enable-rewrite-rules`. So it's probably a loop in a rule somewhere.

Note that the program also builds fine when I change the 'f' and 'z' to:
{{{
f = (+)
z = 0
}}}

I use vector-0.9 and ghc-7.2.1.

"	bug	merge	low	7.6.2	Compiler	7.2.1			rl v.dijk.bas@… hackage.haskell.org@… tkn.akio@… amos.robinson@…	Unknown/Multiple	Unknown/Multiple	None/Unknown	Unknown	simplCore/should_compile/T5550			
