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,,
