id	summary	reporter	owner	description	type	status	priority	milestone	version	resolution	keywords	cc
77	Data.Vector.Unboxed infinite loop	mee		"Here's the sum of it,

{{{
Prelude> import qualified Data.Vector.Unboxed as V
Prelude Data.Vector.Unboxed> let zs = (V.++) (V.replicate 1 0) (V.generate 2 (\_ -> (V.!) zs 0) )
Loading package primitive-0.4.0.1 ... linking ... done.
Loading package vector-0.9 ... linking ... done.
Prelude Data.Vector.Unboxed> zs
fromList   C-c C-cInterrupted.  <------- loops forever here

Prelude Data.Vector.Unboxed> :m -Data.Vector.Unboxed
Prelude> import qualified Data.Vector as V
Prelude Data.Vector> let zs = (V.++) (V.replicate 1 0) (V.generate 2 (\_ -> (V.!) zs 0) )
Prelude Data.Vector> zs
fromList [0,0,0]
}}}

The {{{ (V.!) zs 0 }}} loops forever in the unboxed version only.

This behavior is the same across both of these configurations on Debian:[[BR]]

ghc 7.0.4, vector 0.9.2 [[BR]]
ghc 7.4.1, vector 0.9.1-2 [[BR]]

I've had no luck changing the behavior by compiling with any of {{{ --fno-enable-rewrite-rules }}}, {{{ -fno-spec-constr }}} or toggling optimization.

This might be related to #63, but I'm not sure how to tell."	defect	closed	minor			invalid		
