Don't inline enumDeltaToInteger until its rules have had a chance to fire
authorsimonpj@microsoft.com <unknown>
Fri, 3 Apr 2009 09:17:50 +0000 (09:17 +0000)
committersimonpj@microsoft.com <unknown>
Fri, 3 Apr 2009 09:17:50 +0000 (09:17 +0000)
GHC/Num.lhs

index 307909d..19514b6 100644 (file)
@@ -293,6 +293,8 @@ enumDeltaInteger x d = x `seq` (x : enumDeltaInteger (x+d) d)
 --     head (drop 1000000 [1 .. ]
 -- works
 
+{-# NOINLINE [0] enumDeltaToIntegerFB #-}
+-- Don't inline this until RULE "enumDeltaToInteger" has had a chance to fire
 enumDeltaToIntegerFB :: (Integer -> a -> a) -> a
                      -> Integer -> Integer -> Integer -> a
 enumDeltaToIntegerFB c n x delta lim