GHC infinite loop when compiling vector
Bas reports: When benchmarking my new 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.
Trac metadata
Trac field | Value |
---|---|
Version | 7.2.1 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |