Change INLINE to INLINABLE on methods using Ord.
authorMilan Straka <fox@ucw.cz>
Mon, 23 Apr 2012 13:54:13 +0000 (15:54 +0200)
committerMilan Straka <fox@ucw.cz>
Mon, 23 Apr 2012 13:54:13 +0000 (15:54 +0200)
As mentioned previously, INLINE - INLINABLE method chain does not result
in specialization, it has to be INLINABLE - INLINABLE.

Data/Map.hs

index 3194e7e..910dc40 100644 (file)
@@ -66,7 +66,7 @@ import qualified Data.Map.Strict as S
 --
 insertWith' :: Ord k => (a -> a -> a) -> k -> a -> Map k a -> Map k a
 insertWith' = S.insertWith
-{-# INLINE insertWith' #-}
+{-# INLINABLE insertWith' #-}
 
 -- | /Deprecated./ As of version 0.5, replaced by 'S.insertWithKey'.
 --
@@ -74,7 +74,7 @@ insertWith' = S.insertWith
 -- applied strictly.
 insertWithKey' :: Ord k => (k -> a -> a -> a) -> k -> a -> Map k a -> Map k a
 insertWithKey' = S.insertWithKey
-{-# INLINE insertWithKey' #-}
+{-# INLINABLE insertWithKey' #-}
 
 -- | /Deprecated./ As of version 0.5, replaced by
 -- 'S.insertLookupWithKey'.
@@ -83,7 +83,7 @@ insertWithKey' = S.insertWithKey
 insertLookupWithKey' :: Ord k => (k -> a -> a -> a) -> k -> a -> Map k a
                      -> (Maybe a, Map k a)
 insertLookupWithKey' = S.insertLookupWithKey
-{-# INLINE insertLookupWithKey' #-}
+{-# INLINABLE insertLookupWithKey' #-}
 
 -- | /Deprecated./ As of version 0.5, replaced by 'L.foldr'.
 --