From a5bf9f0ae26c4fa4cfab302a4cb787eaa42f6027 Mon Sep 17 00:00:00 2001
From: meooow25 <soumiksarkar.3120@gmail.com>
Date: Mon, 6 Nov 2023 22:24:31 +0530
Subject: [PATCH] Make sure the loop counter in newListArray gets unboxed

---
 Data/Array/Base.hs | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Data/Array/Base.hs b/Data/Array/Base.hs
index 8a06afd3..2516bef9 100644
--- a/Data/Array/Base.hs
+++ b/Data/Array/Base.hs
@@ -914,7 +914,8 @@ newListArray (l,u) es = do
         f x k i
             | i == n    = return ()
             | otherwise = unsafeWrite marr i x >> k (i+1)
-    foldr f (const (return ())) es 0
+    foldr f (\ !_i -> return ()) es 0
+    -- The bang above is important for GHC for unbox the Int.
     return marr
 
 {-# INLINE newGenArray #-}
-- 
GitLab