@@ -146,7 +146,7 @@ import Data.Word (Word)
146146#if __GLASGOW_HASKELL__ >= 711
147147import Data.Semigroup (Semigroup ((<>) ))
148148#endif
149- import Control.DeepSeq (NFData (rnf ), NFData2 ( liftRnf2 ), NFData1 ( liftRnf ) )
149+ import Control.DeepSeq (NFData (rnf ))
150150import Control.Monad.ST (ST )
151151import Data.Bits ((.&.) , (.|.) , complement , popCount , unsafeShiftL , unsafeShiftR )
152152import Data.Data hiding (Typeable )
@@ -178,6 +178,10 @@ import GHC.Stack
178178import qualified Data.Hashable.Lifted as H
179179#endif
180180
181+ #if MIN_VERSION_deepseq(1,4,3)
182+ import qualified Control.DeepSeq as NF
183+ #endif
184+
181185#if __GLASGOW_HASKELL__ >= 802
182186import GHC.Exts (TYPE , Int (.. ), Int #)
183187#endif
@@ -201,11 +205,13 @@ data Leaf k v = L !k v
201205instance (NFData k , NFData v ) => NFData (Leaf k v ) where
202206 rnf (L k v) = rnf k `seq` rnf v
203207
204- instance NFData k => NFData1 (Leaf k ) where
205- liftRnf rnf2 = liftRnf2 rnf rnf2
208+ #if MIN_VERSION_deepseq(1,4,3)
209+ instance NFData k => NF. NFData1 (Leaf k ) where
210+ liftRnf rnf2 = NF. liftRnf2 rnf rnf2
206211
207- instance NFData2 Leaf where
212+ instance NF. NFData2 Leaf where
208213 liftRnf2 rnf1 rnf2 (L k v) = rnf1 k `seq` rnf2 v
214+ #endif
209215
210216-- Invariant: The length of the 1st argument to 'Full' is
211217-- 2^bitsPerSubkey
@@ -229,15 +235,17 @@ instance (NFData k, NFData v) => NFData (HashMap k v) where
229235 rnf (Full ary) = rnf ary
230236 rnf (Collision _ ary) = rnf ary
231237
232- instance NFData k => NFData1 (HashMap k ) where
233- liftRnf rnf2 = liftRnf2 rnf rnf2
238+ #if MIN_VERSION_deepseq(1,4,3)
239+ instance NFData k => NF. NFData1 (HashMap k ) where
240+ liftRnf rnf2 = NF. liftRnf2 rnf rnf2
234241
235- instance NFData2 HashMap where
242+ instance NF. NFData2 HashMap where
236243 liftRnf2 _ _ Empty = ()
237- liftRnf2 rnf1 rnf2 (BitmapIndexed _ ary) = liftRnf (liftRnf2 rnf1 rnf2) ary
238- liftRnf2 rnf1 rnf2 (Leaf _ l) = liftRnf2 rnf1 rnf2 l
239- liftRnf2 rnf1 rnf2 (Full ary) = liftRnf (liftRnf2 rnf1 rnf2) ary
240- liftRnf2 rnf1 rnf2 (Collision _ ary) = liftRnf (liftRnf2 rnf1 rnf2) ary
244+ liftRnf2 rnf1 rnf2 (BitmapIndexed _ ary) = NF. liftRnf (NF. liftRnf2 rnf1 rnf2) ary
245+ liftRnf2 rnf1 rnf2 (Leaf _ l) = NF. liftRnf2 rnf1 rnf2 l
246+ liftRnf2 rnf1 rnf2 (Full ary) = NF. liftRnf (NF. liftRnf2 rnf1 rnf2) ary
247+ liftRnf2 rnf1 rnf2 (Collision _ ary) = NF. liftRnf (NF. liftRnf2 rnf1 rnf2) ary
248+ #endif
241249
242250instance Functor (HashMap k ) where
243251 fmap = map
0 commit comments