packages feed

aeson 2.2.4.0 → 2.2.4.1

raw patch · 2 files changed

+17/−14 lines, 2 filesdep −ghc-primdep ~containersdep ~deepseqdep ~primitivePVP ok

version bump matches the API change (PVP)

Dependencies removed: ghc-prim

Dependency ranges changed: containers, deepseq, primitive, template-haskell, time

API changes (from Hackage documentation)

Files

aeson.cabal view
@@ -1,6 +1,6 @@ cabal-version:      2.2 name:               aeson-version:            2.2.4.0+version:            2.2.4.1 license:            BSD-3-Clause license-file:       LICENSE category:           Text, Web, JSON@@ -21,7 +21,8 @@    || ==9.6.6    || ==9.8.4    || ==9.10.1-   || ==9.12.1+   || ==9.12.4+   || ==9.14.1  synopsis:           Fast JSON parsing and encoding homepage:           https://github.com/haskell/aeson@@ -95,19 +96,20 @@   build-depends:     , base              >=4.12.0.0 && <5     , bytestring        >=0.10.8.2 && <0.13-    , containers        >=0.6.0.1  && <0.8+    , containers        >=0.6.0.1  && <0.9     , deepseq           >=1.4.4.0  && <1.6     , exceptions        >=0.10.4   && <0.11-    , ghc-prim          >=0.5.0.0  && <0.14-    , template-haskell  >=2.14.0.0 && <2.24+    , template-haskell  >=2.14.0.0 && <2.25     , text              >=1.2.3.0  && <1.3  || >=2.0 && <2.2-    , time              >=1.8.0.2  && <1.15+    , time              >=1.8.0.2  && <1.16    -- Compat   build-depends:-    , generically  >=0.1   && <0.2     , time-compat  >=1.9.6 && <1.10 +  if !impl(ghc >=9.4)+    build-depends: generically >=0.1 && <0.2+   if !impl(ghc >=9.0)     build-depends: integer-gmp @@ -203,20 +205,17 @@     , bytestring     , containers     , data-fix-    , deepseq     , Diff                  >=0.4    && <0.6  || ^>=1.0.2     , directory     , dlist     , filepath     , generic-deriving      >=1.10   && <1.15     , generically-    , ghc-prim              >=0.2     , hashable     , indexed-traversable     , integer-logarithms    >=1      && <1.1     , network-uri     , OneTuple-    , primitive     , QuickCheck     , quickcheck-instances  >=0.3.29 && <0.5     , scientific@@ -226,7 +225,6 @@     , tasty-golden     , tasty-hunit     , tasty-quickcheck-    , template-haskell     , text     , text-short     , these
src/Data/Aeson/TH.hs view
@@ -945,7 +945,7 @@                           (appE [|show|] (varE unknownFields)))                       []               ]-      x:xs = [ lookupField argTy+      (x,xs) = nonEmpty [ lookupField argTy                `appE` dispatchParseJSON jc conName tvMap argTy                `appE` litE (stringL $ show tName)                `appE` litE (stringL $ constructorTagModifier opts $ nameBase conName)@@ -955,6 +955,11 @@              | (field, argTy) <- zip fields argTys              ] +-- A hack, as I'm too lazy to changge code to not assume fields are non empty.+nonEmpty :: [a] -> (a, [a])+nonEmpty (x:xs) = (x,xs)+nonEmpty []     = error "unexpected empty list"+ getValField :: Name -> String -> [MatchQ] -> Q Exp getValField obj valFieldName matches = do   val <- newName "val"@@ -1056,12 +1061,12 @@              -> [Type] -- ^ The argument types of the constructor.              -> Name -- ^ Name of the type to which the constructor belongs.              -> Name -- ^ 'Con'structor name.-             -> Integer -- ^ 'Con'structor arity.+             -> Integer -- ^ 'Con'structor arity. >= 1              -> [Q Match] parseProduct jc tvMap argTys tName conName numArgs =     [ do arr <- newName "arr"          -- List of: "parseJSON (arr `V.unsafeIndex` <IX>)"-         let x:xs = [ dispatchParseJSON jc conName tvMap argTy+         let (x,xs) = nonEmpty [ dispatchParseJSON jc conName tvMap argTy                       `appE`                       infixApp (varE arr)                                [|V.unsafeIndex|]