deepseq 1.4.3.0 → 1.4.4.0
raw patch · 3 files changed
+46/−12 lines, 3 filesdep ~basePVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: base
API changes (from Hackage documentation)
- Control.DeepSeq: instance Control.DeepSeq.NFData Data.Monoid.All
- Control.DeepSeq: instance Control.DeepSeq.NFData Data.Monoid.Any
- Control.DeepSeq: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.List.NonEmpty.NonEmpty a)
- Control.DeepSeq: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.Monoid.Dual a)
- Control.DeepSeq: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.Monoid.Product a)
- Control.DeepSeq: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.Monoid.Sum a)
- Control.DeepSeq: instance Control.DeepSeq.NFData1 Data.List.NonEmpty.NonEmpty
- Control.DeepSeq: instance Control.DeepSeq.NFData1 Data.Monoid.Dual
- Control.DeepSeq: instance Control.DeepSeq.NFData1 Data.Monoid.Product
- Control.DeepSeq: instance Control.DeepSeq.NFData1 Data.Monoid.Sum
+ Control.DeepSeq: instance Control.DeepSeq.NFData Data.Semigroup.Internal.All
+ Control.DeepSeq: instance Control.DeepSeq.NFData Data.Semigroup.Internal.Any
+ Control.DeepSeq: instance Control.DeepSeq.NFData GHC.IO.MaskingState
+ Control.DeepSeq: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.Semigroup.Internal.Dual a)
+ Control.DeepSeq: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.Semigroup.Internal.Product a)
+ Control.DeepSeq: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (Data.Semigroup.Internal.Sum a)
+ Control.DeepSeq: instance Control.DeepSeq.NFData a => Control.DeepSeq.NFData (GHC.Base.NonEmpty a)
+ Control.DeepSeq: instance Control.DeepSeq.NFData1 Data.Semigroup.Internal.Dual
+ Control.DeepSeq: instance Control.DeepSeq.NFData1 Data.Semigroup.Internal.Product
+ Control.DeepSeq: instance Control.DeepSeq.NFData1 Data.Semigroup.Internal.Sum
+ Control.DeepSeq: instance Control.DeepSeq.NFData1 GHC.Base.NonEmpty
Files
- Control/DeepSeq.hs +24/−3
- changelog.md +11/−0
- deepseq.cabal +11/−9
Control/DeepSeq.hs view
@@ -87,6 +87,7 @@ import Control.Applicative import Control.Concurrent ( ThreadId, MVar )+import Control.Exception ( MaskingState(..) ) import Data.IORef import Data.STRef import Data.Int@@ -97,6 +98,7 @@ import Data.Fixed import Data.Version import Data.Monoid as Mon+import Data.Typeable ( TypeRep, TyCon ) import Data.Unique ( Unique ) import Foreign.Ptr import Foreign.C.Types@@ -123,9 +125,11 @@ #if MIN_VERSION_base(4,8,0) import Data.Functor.Identity ( Identity(..) )-import Data.Typeable ( TypeRep, TyCon, rnfTypeRep, rnfTyCon )+import Data.Typeable ( rnfTypeRep, rnfTyCon ) import Data.Void ( Void, absurd ) import Numeric.Natural ( Natural )+#else+import Data.Typeable ( typeRepTyCon, typeRepArgs, tyConPackage, tyConModule, tyConName ) #endif #if MIN_VERSION_base(4,9,0)@@ -428,6 +432,9 @@ instance NFData Word32 where rnf = rwhnf instance NFData Word64 where rnf = rwhnf +-- | @since 1.4.4.0+instance NFData MaskingState where rnf = rwhnf+ #if MIN_VERSION_base(4,7,0) -- |@since 1.4.0.0 instance NFData (Proxy a) where rnf Proxy = ()@@ -650,17 +657,31 @@ rnf = rwhnf -- assumes `newtype Unique = Unique Integer` #if MIN_VERSION_base(4,8,0)--- | __NOTE__: Only defined for @base-4.8.0.0@ and later+-- | __NOTE__: Prior to @deepseq-1.4.4.0@ this instance was only defined for @base-4.8.0.0@ and later. -- -- @since 1.4.0.0 instance NFData TypeRep where rnf tyrep = rnfTypeRep tyrep --- | __NOTE__: Only defined for @base-4.8.0.0@ and later+-- | __NOTE__: Prior to @deepseq-1.4.4.0@ this instance was only defined for @base-4.8.0.0@ and later. -- -- @since 1.4.0.0 instance NFData TyCon where rnf tycon = rnfTyCon tycon+#else+-- | __NOTE__: Prior to @deepseq-1.4.4.0@ this instance was only defined for @base-4.8.0.0@ and later.+--+-- @since 1.4.0.0+instance NFData TypeRep where+ rnf tr = rnf (typeRepTyCon tr) `seq` rnf (typeRepArgs tr)++-- | __NOTE__: Prior to @deepseq-1.4.4.0@ this instance was only defined for @base-4.8.0.0@ and later.+--+-- @since 1.4.0.0+instance NFData TyCon where+ rnf tc = rnf (tyConPackage tc) `seq`+ rnf (tyConModule tc) `seq`+ rnf (tyConName tc) #endif -- | __NOTE__: Only strict in the reference and not the referenced value.
changelog.md view
@@ -1,5 +1,16 @@ # Changelog for [`deepseq` package](http://hackage.haskell.org/package/deepseq) +## 1.4.4.0 *Sep 2018*++ * Bundled with GHC 8.6.1++ * Add `NFData` instance for `MaskingState`+ ([#38](https://github.com/haskell/deepseq/pull/38))++ * Define the `NFData` instances for `TypeRep` and `TyCon` on all supported+ versions of `base`, not just 4.8 and later+ ([#40](https://github.com/haskell/deepseq/pull/40))+ ## 1.4.3.0 *Apr 2017* * Bundled with GHC 8.2.1
deepseq.cabal view
@@ -1,6 +1,8 @@+cabal-version: 1.12 name: deepseq-version: 1.4.3.0+version: 1.4.4.0 -- NOTE: Don't forget to update ./changelog.md+ license: BSD3 license-file: LICENSE maintainer: libraries@haskell.org@@ -19,10 +21,13 @@ \"deep\" version of 'seq'. It is implemented on top of an 'NFData' typeclass (\"Normal Form Data\", data structures with no unevaluated components) which defines strategies for fully evaluating different- data types.+ data types. See module documentation in "Control.DeepSeq" for more+ details.+ build-type: Simple-cabal-version: >=1.10-tested-with: GHC==8.2.1,+tested-with: GHC==8.6.1,+ GHC==8.4.3, GHC==8.4.2, GHC==8.4.1,+ GHC==8.2.2, GHC==8.2.1, GHC==8.0.2, GHC==8.0.1, GHC==7.10.3, GHC==7.10.2, GHC==7.10.1, GHC==7.8.4, GHC==7.8.3, GHC==7.8.2, GHC==7.8.1,@@ -40,13 +45,10 @@ other-extensions: BangPatterns CPP-- -- Enable Generics-backed DefaultSignatures for `rnf`- other-extensions: DefaultSignatures- GADTs FlexibleContexts FlexibleInstances+ GADTs MultiParamTypeClasses Safe TypeOperators@@ -61,7 +63,7 @@ if impl(ghc>=7.8) other-extensions: EmptyCase - build-depends: base >= 4.5 && < 4.11,+ build-depends: base >= 4.5 && < 4.13, array >= 0.4 && < 0.6 ghc-options: -Wall