Fixed issue #17435, missing Data instances
authorMario Blažević <blamario@yahoo.com>
Sun, 17 Nov 2019 13:26:12 +0000 (08:26 -0500)
committerMarge Bot <ben+marge-bot@smart-cactus.org>
Sun, 17 Nov 2019 22:26:24 +0000 (17:26 -0500)
libraries/base/Data/Data.hs
libraries/base/changelog.md

index dfa5567..8e285ac 100644 (file)
@@ -131,6 +131,8 @@ import GHC.Show
 import Text.Read( reads )
 
 -- Imports for the instances
+import Control.Applicative (WrappedArrow(..), WrappedMonad(..), ZipList(..))
+       -- So we can give them Data instances
 import Data.Functor.Identity -- So we can give Data instance for Identity
 import Data.Int              -- So we can give Data instance for Int8, ...
 import Data.Type.Coercion
@@ -1156,6 +1158,18 @@ instance Data a => Data [a] where
 
 ------------------------------------------------------------------------------
 
+-- | @since 4.14.0.0
+deriving instance (Typeable (a :: Type -> Type -> Type), Typeable b, Typeable c,
+                   Data (a b c))
+         => Data (WrappedArrow a b c)
+
+-- | @since 4.14.0.0
+deriving instance (Typeable (m :: Type -> Type), Typeable a, Data (m a))
+         => Data (WrappedMonad m a)
+
+-- | @since 4.14.0.0
+deriving instance Data a => Data (ZipList a)
+
 -- | @since 4.9.0.0
 deriving instance Data a => Data (NonEmpty a)
 
index c42d5eb..69fd172 100644 (file)
@@ -44,6 +44,8 @@
 
   * Add `resizeSmallMutableArray#` to `GHC.Exts`.
 
+  * Add a `Data` instance to `WrappedArrow`, `WrappedMonad`, and `ZipList`.
+
 ## 4.13.0.0 *July 2019*
   * Bundled with GHC 8.8.1