Hello community,

here is the log from the commit of package ghc-aeson for openSUSE:Factory 
checked in at 2020-08-18 12:24:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ghc-aeson (Old)
 and      /work/SRC/openSUSE:Factory/.ghc-aeson.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ghc-aeson"

Tue Aug 18 12:24:30 2020 rev:28 rq:825793 version:1.5.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/ghc-aeson/ghc-aeson.changes      2020-06-19 
17:07:40.213144805 +0200
+++ /work/SRC/openSUSE:Factory/.ghc-aeson.new.3399/ghc-aeson.changes    
2020-08-18 12:24:35.227810972 +0200
@@ -1,0 +2,10 @@
+Mon Aug 10 08:46:53 UTC 2020 - [email protected]
+
+- Update aeson to version 1.5.3.0.
+  ### 1.5.3.0
+
+  * Add instances for types in `strict` and `data-fix` packages, thanks to 
Oleg Grenrus.
+  * CPP cleanup, thanks to Oleg Grenrus.
+  * Instances for `dlist`'s `Data.DList.DNonEmpty.DNonEmpty`, thanks to Oleg 
Grenrus.
+
+-------------------------------------------------------------------

Old:
----
  aeson-1.5.2.0.tar.gz

New:
----
  aeson-1.5.3.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ghc-aeson.spec ++++++
--- /var/tmp/diff_new_pack.kZPxjB/_old  2020-08-18 12:24:36.099811336 +0200
+++ /var/tmp/diff_new_pack.kZPxjB/_new  2020-08-18 12:24:36.103811338 +0200
@@ -19,7 +19,7 @@
 %global pkg_name aeson
 %bcond_with tests
 Name:           ghc-%{pkg_name}
-Version:        1.5.2.0
+Version:        1.5.3.0
 Release:        0
 Summary:        Fast JSON parsing and encoding
 License:        BSD-3-Clause
@@ -30,12 +30,14 @@
 BuildRequires:  ghc-base-compat-batteries-devel
 BuildRequires:  ghc-bytestring-devel
 BuildRequires:  ghc-containers-devel
+BuildRequires:  ghc-data-fix-devel
 BuildRequires:  ghc-deepseq-devel
 BuildRequires:  ghc-dlist-devel
 BuildRequires:  ghc-hashable-devel
 BuildRequires:  ghc-primitive-devel
 BuildRequires:  ghc-rpm-macros
 BuildRequires:  ghc-scientific-devel
+BuildRequires:  ghc-strict-devel
 BuildRequires:  ghc-tagged-devel
 BuildRequires:  ghc-template-haskell-devel
 BuildRequires:  ghc-text-devel

++++++ aeson-1.5.2.0.tar.gz -> aeson-1.5.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aeson-1.5.2.0/Data/Aeson/Types/FromJSON.hs 
new/aeson-1.5.3.0/Data/Aeson/Types/FromJSON.hs
--- old/aeson-1.5.2.0/Data/Aeson/Types/FromJSON.hs      2001-09-09 
03:46:40.000000000 +0200
+++ new/aeson-1.5.3.0/Data/Aeson/Types/FromJSON.hs      2001-09-09 
03:46:40.000000000 +0200
@@ -123,6 +123,10 @@
 import qualified Data.Attoparsec.ByteString.Char8 as A (endOfInput, parseOnly, 
scientific)
 import qualified Data.ByteString.Lazy as L
 import qualified Data.DList as DList
+#if MIN_VERSION_dlist(1,0,0) && __GLASGOW_HASKELL__ >=800
+import qualified Data.DList.DNonEmpty as DNE
+#endif
+import qualified Data.Fix as F
 import qualified Data.HashMap.Strict as H
 import qualified Data.HashSet as HashSet
 import qualified Data.IntMap as IntMap
@@ -133,6 +137,7 @@
 import qualified Data.Semigroup as Semigroup
 import qualified Data.Sequence as Seq
 import qualified Data.Set as Set
+import qualified Data.Strict as S
 import qualified Data.Text as T
 import qualified Data.Text.Encoding as T
 import qualified Data.Text.Lazy as LT
@@ -148,14 +153,7 @@
 import qualified Data.Primitive.Array as PM
 import qualified Data.Primitive.SmallArray as PM
 import qualified Data.Primitive.Types as PM
-
-#if MIN_VERSION_primitive(0,6,4)
-#if !MIN_VERSION_primitive(0,7,0)
-import qualified Data.Primitive.UnliftedArray as PM
-#endif
 import qualified Data.Primitive.PrimArray as PM
-#endif
-
 
 import Data.Coerce (Coercible, coerce)
 
@@ -1760,8 +1758,24 @@
     parseJSON = parseJSON1
     {-# INLINE parseJSON #-}
 
+#if MIN_VERSION_dlist(1,0,0) && __GLASGOW_HASKELL__ >=800
+-- | @since 1.5.3.0
+instance FromJSON1 DNE.DNonEmpty where
+    liftParseJSON p _ = withArray "DNonEmpty" $
+        (>>= ne) . Tr.sequence . zipWith (parseIndexedJSON p) [0..] . V.toList
+      where
+        ne []     = fail "parsing DNonEmpty failed, unexpected empty list"
+        ne (x:xs) = pure (DNE.fromNonEmpty (x :| xs))
+    {-# INLINE liftParseJSON #-}
+
+-- | @since 1.5.3.0
+instance (FromJSON a) => FromJSON (DNE.DNonEmpty a) where
+    parseJSON = parseJSON1
+    {-# INLINE parseJSON #-}
+#endif
+
 -------------------------------------------------------------------------------
--- tranformers - Functors
+-- transformers - Functors
 -------------------------------------------------------------------------------
 
 instance FromJSON1 Identity where
@@ -2002,16 +2016,9 @@
 instance FromJSON a => FromJSON (PM.SmallArray a) where
   parseJSON = fmap Exts.fromList . parseJSON
 
-#if MIN_VERSION_primitive(0,6,4)
 instance (PM.Prim a,FromJSON a) => FromJSON (PM.PrimArray a) where
   parseJSON = fmap Exts.fromList . parseJSON
 
-#if !MIN_VERSION_primitive(0,7,0)
-instance (PM.PrimUnlifted a,FromJSON a) => FromJSON (PM.UnliftedArray a) where
-  parseJSON = fmap Exts.fromList . parseJSON
-#endif
-#endif
-
 -------------------------------------------------------------------------------
 -- time
 -------------------------------------------------------------------------------
@@ -2228,6 +2235,70 @@
     {-# INLINE parseJSON #-}
 
 -------------------------------------------------------------------------------
+-- data-fix
+-------------------------------------------------------------------------------
+
+-- | @since 1.5.3.0
+instance FromJSON1 f => FromJSON (F.Fix f) where
+    parseJSON = go where go = fmap F.Fix . liftParseJSON go parseJSONList
+
+-- | @since 1.5.3.0
+instance (FromJSON1 f, Functor f) => FromJSON (F.Mu f) where
+    parseJSON = fmap (F.unfoldMu F.unFix) . parseJSON
+
+-- | @since 1.5.3.0
+instance (FromJSON1 f, Functor f) => FromJSON (F.Nu f) where
+    parseJSON = fmap (F.unfoldNu F.unFix) . parseJSON
+
+-------------------------------------------------------------------------------
+-- strict
+-------------------------------------------------------------------------------
+
+-- | @since 1.5.3.0
+instance (FromJSON a, FromJSON b) => FromJSON (S.These a b) where
+    parseJSON = fmap S.toStrict . parseJSON
+
+-- | @since 1.5.3.0
+instance FromJSON2 S.These where
+    liftParseJSON2 pa pas pb pbs = fmap S.toStrict . liftParseJSON2 pa pas pb 
pbs
+
+-- | @since 1.5.3.0
+instance FromJSON a => FromJSON1 (S.These a) where
+    liftParseJSON pa pas = fmap S.toStrict . liftParseJSON pa pas
+
+-- | @since 1.5.3.0
+instance (FromJSON a, FromJSON b) => FromJSON (S.Pair a b) where
+    parseJSON = fmap S.toStrict . parseJSON
+
+-- | @since 1.5.3.0
+instance FromJSON2 S.Pair where
+    liftParseJSON2 pa pas pb pbs = fmap S.toStrict . liftParseJSON2 pa pas pb 
pbs
+
+-- | @since 1.5.3.0
+instance FromJSON a => FromJSON1 (S.Pair a) where
+    liftParseJSON pa pas = fmap S.toStrict . liftParseJSON pa pas
+
+-- | @since 1.5.3.0
+instance (FromJSON a, FromJSON b) => FromJSON (S.Either a b) where
+    parseJSON = fmap S.toStrict . parseJSON
+
+-- | @since 1.5.3.0
+instance FromJSON2 S.Either where
+    liftParseJSON2 pa pas pb pbs = fmap S.toStrict . liftParseJSON2 pa pas pb 
pbs
+
+-- | @since 1.5.3.0
+instance FromJSON a => FromJSON1 (S.Either a) where
+    liftParseJSON pa pas = fmap S.toStrict . liftParseJSON pa pas
+
+-- | @since 1.5.3.0
+instance FromJSON a => FromJSON (S.Maybe a) where
+    parseJSON = fmap S.toStrict . parseJSON
+
+-- | @since 1.5.3.0
+instance FromJSON1 S.Maybe where
+    liftParseJSON pa pas = fmap S.toStrict . liftParseJSON pa pas
+
+-------------------------------------------------------------------------------
 -- tagged
 -------------------------------------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aeson-1.5.2.0/Data/Aeson/Types/Internal.hs 
new/aeson-1.5.3.0/Data/Aeson/Types/Internal.hs
--- old/aeson-1.5.2.0/Data/Aeson/Types/Internal.hs      2001-09-09 
03:46:40.000000000 +0200
+++ new/aeson-1.5.3.0/Data/Aeson/Types/Internal.hs      2001-09-09 
03:46:40.000000000 +0200
@@ -110,10 +110,6 @@
 import qualified Data.Vector as V
 import qualified Language.Haskell.TH.Syntax as TH
 
-#if !MIN_VERSION_unordered_containers(0,2,6)
-import Data.List (sort)
-#endif
-
 -- | Elements of a JSON path used to describe the location of an
 -- error.
 data JSONPathElement = Key Text
@@ -405,14 +401,7 @@
     {-# INLINE fromString #-}
 
 hashValue :: Int -> Value -> Int
-#if MIN_VERSION_unordered_containers(0,2,6)
 hashValue s (Object o)   = s `hashWithSalt` (0::Int) `hashWithSalt` o
-#else
-hashValue s (Object o)   = foldl' hashWithSalt
-                              (s `hashWithSalt` (0::Int)) assocHashesSorted
-  where
-    assocHashesSorted = sort [hash k `hashWithSalt` v | (k, v) <- H.toList o]
-#endif
 hashValue s (Array a)    = foldl' hashWithSalt
                               (s `hashWithSalt` (1::Int)) a
 hashValue s (String str) = s `hashWithSalt` (2::Int) `hashWithSalt` str
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aeson-1.5.2.0/Data/Aeson/Types/ToJSON.hs 
new/aeson-1.5.3.0/Data/Aeson/Types/ToJSON.hs
--- old/aeson-1.5.2.0/Data/Aeson/Types/ToJSON.hs        2001-09-09 
03:46:40.000000000 +0200
+++ new/aeson-1.5.3.0/Data/Aeson/Types/ToJSON.hs        2001-09-09 
03:46:40.000000000 +0200
@@ -103,6 +103,10 @@
 import qualified Data.Aeson.Encoding.Internal as E (InArray, comma, econcat, 
retagEncoding)
 import qualified Data.ByteString.Lazy as L
 import qualified Data.DList as DList
+#if MIN_VERSION_dlist(1,0,0) && __GLASGOW_HASKELL__ >=800
+import qualified Data.DList.DNonEmpty as DNE
+#endif
+import qualified Data.Fix as F
 import qualified Data.HashMap.Strict as H
 import qualified Data.HashSet as HashSet
 import qualified Data.IntMap as IntMap
@@ -114,6 +118,7 @@
 import qualified Data.Semigroup as Semigroup
 import qualified Data.Sequence as Seq
 import qualified Data.Set as Set
+import qualified Data.Strict as S
 import qualified Data.Text as T
 import qualified Data.Text.Encoding as T
 import qualified Data.Text.Lazy as LT
@@ -133,13 +138,7 @@
 import qualified Data.Primitive.Array as PM
 import qualified Data.Primitive.SmallArray as PM
 import qualified Data.Primitive.Types as PM
-
-#if MIN_VERSION_primitive(0,6,4)
-#if !MIN_VERSION_primitive(0,7,0)
-import qualified Data.Primitive.UnliftedArray as PM
-#endif
 import qualified Data.Primitive.PrimArray as PM
-#endif
 
 toJSONPair :: (a -> Value) -> (b -> Value) -> (a, b) -> Value
 toJSONPair a b = liftToJSON2 a (listValue a) b (listValue b)
@@ -1618,6 +1617,24 @@
     toEncoding = toEncoding1
     {-# INLINE toEncoding #-}
 
+#if MIN_VERSION_dlist(1,0,0) && __GLASGOW_HASKELL__ >=800
+-- | @since 1.5.3.0
+instance ToJSON1 DNE.DNonEmpty where
+    liftToJSON t _ = listValue t . DNE.toList
+    {-# INLINE liftToJSON #-}
+
+    liftToEncoding t _ = listEncoding t . DNE.toList
+    {-# INLINE liftToEncoding #-}
+
+-- | @since 1.5.3.0
+instance (ToJSON a) => ToJSON (DNE.DNonEmpty a) where
+    toJSON = toJSON1
+    {-# INLINE toJSON #-}
+
+    toEncoding = toEncoding1
+    {-# INLINE toEncoding #-}
+#endif
+
 -------------------------------------------------------------------------------
 -- transformers - Functors
 -------------------------------------------------------------------------------
@@ -1981,18 +1998,10 @@
   toJSON = toJSON . Exts.toList
   toEncoding = toEncoding . Exts.toList
 
-#if (MIN_VERSION_primitive(0,6,4))
 instance (PM.Prim a,ToJSON a) => ToJSON (PM.PrimArray a) where
   toJSON = toJSON . Exts.toList
   toEncoding = toEncoding . Exts.toList
 
-#if !MIN_VERSION_primitive(0,7,0)
-instance (PM.PrimUnlifted a,ToJSON a) => ToJSON (PM.UnliftedArray a) where
-  toJSON = toJSON . Exts.toList
-  toEncoding = toEncoding . Exts.toList
-#endif
-#endif
-
 -------------------------------------------------------------------------------
 -- time
 -------------------------------------------------------------------------------
@@ -2243,6 +2252,84 @@
     {-# INLINE toEncoding #-}
 
 -------------------------------------------------------------------------------
+-- data-fix
+-------------------------------------------------------------------------------
+
+-- | @since 1.5.3.0
+instance ToJSON1 f => ToJSON (F.Fix f) where
+    toJSON     = go where go (F.Fix f) = liftToJSON go toJSONList f
+    toEncoding = go where go (F.Fix f) = liftToEncoding go toEncodingList f
+
+-- | @since 1.5.3.0
+instance (ToJSON1 f, Functor f) => ToJSON (F.Mu f) where
+    toJSON     = F.foldMu (liftToJSON id (listValue id))
+    toEncoding = F.foldMu (liftToEncoding id (listEncoding id))
+
+-- | @since 1.5.3.0
+instance (ToJSON1 f, Functor f) => ToJSON (F.Nu f) where
+    toJSON     = F.foldNu (liftToJSON id (listValue id))
+    toEncoding = F.foldNu (liftToEncoding id (listEncoding id))
+
+-------------------------------------------------------------------------------
+-- strict
+-------------------------------------------------------------------------------
+
+-- | @since 1.5.3.0
+instance (ToJSON a, ToJSON b) => ToJSON (S.These a b) where
+    toJSON = toJSON . S.toLazy
+    toEncoding = toEncoding . S.toLazy
+
+-- | @since 1.5.3.0
+instance ToJSON2 S.These where
+    liftToJSON2 toa toas tob tobs = liftToJSON2 toa toas tob tobs . S.toLazy
+    liftToEncoding2 toa toas tob tobs = liftToEncoding2 toa toas tob tobs . 
S.toLazy
+
+-- | @since 1.5.3.0
+instance ToJSON a => ToJSON1 (S.These a) where
+    liftToJSON toa tos = liftToJSON toa tos . S.toLazy
+    liftToEncoding toa tos = liftToEncoding toa tos . S.toLazy
+
+-- | @since 1.5.3.0
+instance (ToJSON a, ToJSON b) => ToJSON (S.Pair a b) where
+    toJSON = toJSON . S.toLazy
+    toEncoding = toEncoding . S.toLazy
+
+-- | @since 1.5.3.0
+instance ToJSON2 S.Pair where
+    liftToJSON2 toa toas tob tobs = liftToJSON2 toa toas tob tobs . S.toLazy
+    liftToEncoding2 toa toas tob tobs = liftToEncoding2 toa toas tob tobs . 
S.toLazy
+
+-- | @since 1.5.3.0
+instance ToJSON a => ToJSON1 (S.Pair a) where
+    liftToJSON toa tos = liftToJSON toa tos . S.toLazy
+    liftToEncoding toa tos = liftToEncoding toa tos . S.toLazy
+
+-- | @since 1.5.3.0
+instance (ToJSON a, ToJSON b) => ToJSON (S.Either a b) where
+    toJSON = toJSON . S.toLazy
+    toEncoding = toEncoding . S.toLazy
+
+-- | @since 1.5.3.0
+instance ToJSON2 S.Either where
+    liftToJSON2 toa toas tob tobs = liftToJSON2 toa toas tob tobs . S.toLazy
+    liftToEncoding2 toa toas tob tobs = liftToEncoding2 toa toas tob tobs . 
S.toLazy
+
+-- | @since 1.5.3.0
+instance ToJSON a => ToJSON1 (S.Either a) where
+    liftToJSON toa tos = liftToJSON toa tos . S.toLazy
+    liftToEncoding toa tos = liftToEncoding toa tos . S.toLazy
+
+-- | @since 1.5.3.0
+instance ToJSON a => ToJSON (S.Maybe a) where
+    toJSON = toJSON . S.toLazy
+    toEncoding = toEncoding . S.toLazy
+
+-- | @since 1.5.3.0
+instance ToJSON1 S.Maybe where
+    liftToJSON toa tos = liftToJSON toa tos . S.toLazy
+    liftToEncoding toa tos = liftToEncoding toa tos . S.toLazy
+
+-------------------------------------------------------------------------------
 -- tagged
 -------------------------------------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aeson-1.5.2.0/aeson.cabal 
new/aeson-1.5.3.0/aeson.cabal
--- old/aeson-1.5.2.0/aeson.cabal       2001-09-09 03:46:40.000000000 +0200
+++ new/aeson-1.5.3.0/aeson.cabal       2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,5 @@
 name:            aeson
-version:         1.5.2.0
+version:         1.5.3.0
 license:         BSD3
 license-file:    LICENSE
 category:        Text, Web, JSON
@@ -136,10 +136,12 @@
   -- Other dependencies
   build-depends:
     attoparsec           >= 0.13.2.2 && < 0.14,
-    dlist                >= 0.8.0.4  && < 0.9,
+    data-fix             >= 0.3      && < 0.4,
+    dlist                >= 0.8.0.4  && < 1.1,
     hashable             >= 1.2.7.0  && < 1.4,
     primitive            >= 0.7.0.1  && < 0.8,
     scientific           >= 0.3.6.2  && < 0.4,
+    strict               >= 0.4      && < 0.5,
     tagged               >= 0.8.6    && < 0.9,
     th-abstraction       >= 0.2.8.0  && < 0.4,
     these                >= 1.1      && < 1.2,
@@ -210,6 +212,7 @@
     base-orphans >= 0.5.3 && <0.9,
     base16-bytestring,
     containers,
+    data-fix,
     directory,
     dlist,
     Diff >= 0.4 && < 0.5,
@@ -218,6 +221,7 @@
     ghc-prim >= 0.2,
     hashable >= 1.2.4.0,
     scientific,
+    strict,
     tagged,
     template-haskell,
     tasty,
@@ -231,7 +235,7 @@
     unordered-containers,
     uuid-types,
     vector,
-    quickcheck-instances >= 0.3.23 && <0.4
+    quickcheck-instances >= 0.3.24 && <0.4
 
   if flag(bytestring-builder)
     build-depends: bytestring >= 0.9 && < 0.10.4,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aeson-1.5.2.0/benchmarks/aeson-benchmarks.cabal 
new/aeson-1.5.3.0/benchmarks/aeson-benchmarks.cabal
--- old/aeson-1.5.2.0/benchmarks/aeson-benchmarks.cabal 2001-09-09 
03:46:40.000000000 +0200
+++ new/aeson-1.5.3.0/benchmarks/aeson-benchmarks.cabal 2001-09-09 
03:46:40.000000000 +0200
@@ -9,6 +9,7 @@
   c-sources:        ../cbits/unescape_string.c
   build-depends:
       attoparsec
+    , data-fix
     , base
     , base-compat-batteries
     , bytestring             >=0.10.4
@@ -21,6 +22,7 @@
     , primitive
     , scientific
     , syb
+    , strict
     , tagged
     , template-haskell
     , text
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aeson-1.5.2.0/changelog.md 
new/aeson-1.5.3.0/changelog.md
--- old/aeson-1.5.2.0/changelog.md      2001-09-09 03:46:40.000000000 +0200
+++ new/aeson-1.5.3.0/changelog.md      2001-09-09 03:46:40.000000000 +0200
@@ -1,5 +1,11 @@
 For the latest version of this document, please see 
[https://github.com/bos/aeson/blob/master/changelog.md](https://github.com/bos/aeson/blob/master/changelog.md).
 
+### 1.5.3.0
+
+* Add instances for types in `strict` and `data-fix` packages, thanks to Oleg 
Grenrus.
+* CPP cleanup, thanks to Oleg Grenrus.
+* Instances for `dlist`'s `Data.DList.DNonEmpty.DNonEmpty`, thanks to Oleg 
Grenrus.
+
 ### 1.5.2.0
 
 * Add `Ord Value` instance, thanks to Oleg Grenrus.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aeson-1.5.2.0/tests/PropertyRoundTrip.hs 
new/aeson-1.5.3.0/tests/PropertyRoundTrip.hs
--- old/aeson-1.5.2.0/tests/PropertyRoundTrip.hs        2001-09-09 
03:46:40.000000000 +0200
+++ new/aeson-1.5.3.0/tests/PropertyRoundTrip.hs        2001-09-09 
03:46:40.000000000 +0200
@@ -26,6 +26,8 @@
 import qualified Data.Text as T
 import qualified Data.Text.Lazy as LT
 import qualified Data.UUID.Types as UUID
+import qualified Data.Strict as S
+import qualified Data.Fix as F
 import PropUtils
 import PropertyRTFunctors
 
@@ -66,6 +68,13 @@
     , testProperty "Ratio Int" $ roundTripEq (undefined :: Ratio Int)
     , testProperty "UUID" $ roundTripEq UUID.nil
     , testProperty "These" $ roundTripEq (These 'x' True)
+    , testProperty "Fix" $ roundTripEq (undefined :: F.Fix (These Char))
+    , testProperty "Mu" $ roundTripEq (undefined :: F.Mu (These Char))
+    , testProperty "Nu" $ roundTripEq (undefined :: F.Nu (These Char))
+    , testProperty "Strict Pair" $ roundTripEq (undefined :: S.Pair Int Char)
+    , testProperty "Strict Either" $ roundTripEq (undefined :: S.Either Int 
Char)
+    , testProperty "Strict These" $ roundTripEq (undefined :: S.These Int Char)
+    , testProperty "Strict Maybe" $ roundTripEq (undefined :: S.Maybe Int)
     , roundTripFunctorsTests
     , testGroup "ghcGenerics" [
         testProperty "OneConstructor" $ roundTripEq OneConstructor
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/aeson-1.5.2.0/tests/SerializationFormatSpec.hs 
new/aeson-1.5.3.0/tests/SerializationFormatSpec.hs
--- old/aeson-1.5.2.0/tests/SerializationFormatSpec.hs  2001-09-09 
03:46:40.000000000 +0200
+++ new/aeson-1.5.3.0/tests/SerializationFormatSpec.hs  2001-09-09 
03:46:40.000000000 +0200
@@ -54,6 +54,8 @@
 import qualified Data.Tree as Tree
 import qualified Data.UUID.Types as UUID
 import qualified Data.Vector as Vector
+import qualified Data.Fix as F
+import qualified Data.Strict as S
 
 tests :: [TestTree]
 tests =
@@ -218,6 +220,26 @@
     , "{\"That\":false,\"This\":\"y\"}"
     ]
     (These 'y' False)
+
+  -- data-fix and strict
+  , ndExample "Fix Strict.These"
+    [ "{\"This\":true,\"That\":{\"That\":{\"This\":false}}}"
+    , "{\"That\":{\"That\":{\"This\":false}},\"This\":true}"
+    ]
+    (F.Fix (S.These True (F.Fix (S.That (F.Fix (S.This False))))))
+
+  -- Mu and Nu are similar.
+  , ndExample "Mu Strict.These"
+    [ "{\"This\":true,\"That\":{\"That\":{\"This\":false}}}"
+    , "{\"That\":{\"That\":{\"This\":false}},\"This\":true}"
+    ]
+    $ F.unfoldMu F.unFix $ F.Fix (S.These True (F.Fix (S.That (F.Fix (S.This 
False)))))
+
+  , ndExample "Nu Strict.These"
+    [ "{\"This\":true,\"That\":{\"That\":{\"This\":false}}}"
+    , "{\"That\":{\"That\":{\"This\":false}},\"This\":true}"
+    ]
+    $ F.unfoldNu F.unFix $ F.Fix (S.These True (F.Fix (S.That (F.Fix (S.This 
False)))))
   ]
 
 jsonEncodingExamples :: [Example]


Reply via email to