diff --git a/Control/DeepSeq.hs b/Control/DeepSeq.hs index 523fe417e0582366c21a191469098986064f7046..b5b95f225a8f48cde2bad76a0378dc25b4dddb5f 100644 --- a/Control/DeepSeq.hs +++ b/Control/DeepSeq.hs @@ -179,6 +179,13 @@ instance GNFData arity a => GNFData arity (M1 i c a) where grnf args = grnf args . unM1 {-# INLINEABLE grnf #-} +#if __GLASGOW_HASKELL__ >= 800 + -- @since 1.4.5.0 +instance GNFData arity (URec a) where + grnf _ = rwhnf + {-# INLINEABLE grnf #-} +#endif + instance (GNFData arity a, GNFData arity b) => GNFData arity (a :*: b) where grnf args (x :*: y) = grnf args x `seq` grnf args y {-# INLINEABLE grnf #-} diff --git a/changelog.md b/changelog.md index 789655cd5f370a01f83968e7c769041ebfe360f2..a39a03b7711835cb9f236fa49194266cc6abcb2d 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,10 @@ # Changelog for [`deepseq` package](http://hackage.haskell.org/package/deepseq) +## 1.4.5.0 + + * Add `GNFData` for URec + This will enable deriving NFData instances for unboxed types + ## 1.4.4.0 *Sep 2018* * Bundled with GHC 8.6.1