packages feed

generic-xmlpickler 0.1.0.4 → 0.1.0.5

raw patch · 3 files changed

+39/−5 lines, 3 filesdep ~basedep ~generic-derivingdep ~tastynew-uploaderPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: base, generic-deriving, tasty, tasty-hunit

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -1,3 +1,7 @@+#### 0.1.0.4++* Fix build on GHC 8.+ #### 0.1.0.3  * Allow `generic-deriving 1.8.*`.
generic-xmlpickler.cabal view
@@ -1,5 +1,5 @@ name:                generic-xmlpickler-version:             0.1.0.4+version:             0.1.0.5 description:         Generic generation of HXT XmlPickler instances using GHC Generics. synopsis:            Generic generation of HXT XmlPickler instances using GHC Generics. category:            XML, Data@@ -26,8 +26,8 @@   hs-source-dirs:    src   exposed-modules:   Generics.XmlPickler   build-depends:-      base >= 4.5 && < 4.9-    , generic-deriving >= 1.6 && < 1.10+      base >= 4.5 && < 4.10+    , generic-deriving >= 1.6 && < 1.11     , hxt >= 9.2 && < 9.4     , text   if impl(ghc < 7.6)
src/Generics/XmlPickler.hs view
@@ -1,12 +1,18 @@ {-# OPTIONS -fno-warn-orphans #-} {-# LANGUAGE-    FlexibleContexts+    CPP+  , FlexibleContexts   , FlexibleInstances   , KindSignatures-  , OverlappingInstances   , ScopedTypeVariables   , TypeOperators   #-}+#if MIN_VERSION_base(4,9,0)+{-# LANGUAGE DataKinds #-}+#endif+#if __GLASGOW_HASKELL__ < 710+{-# LANGUAGE OverlappingInstances #-}+#endif module Generics.XmlPickler   ( gxpickle   , GXmlPickler (..)@@ -115,21 +121,41 @@  -- * GXmlPickler instance for String, Text and Maybes. +#if __GLASGOW_HASKELL__ >= 710+instance {-# OVERLAPS #-} GXmlPickler (K1 i String) where+#else instance GXmlPickler (K1 i String) where+#endif   gxpicklef _ = (K1, unK1) `xpWrap` xpText0 +#if __GLASGOW_HASKELL__ >= 710+instance {-# OVERLAPS #-} GXmlPickler (K1 i Text) where+#else instance GXmlPickler (K1 i Text) where+#endif   gxpicklef _ = (K1 . pack, unpack . unK1) `xpWrap` xpText0 +#if __GLASGOW_HASKELL__ >= 710+instance {-# OVERLAPS #-} (XmlPickler a, Selector c) => GXmlPickler (M1 S c (K1 i (Maybe a))) where+#else instance (XmlPickler a, Selector c) => GXmlPickler (M1 S c (K1 i (Maybe a))) where+#endif   gxpicklef _ = (M1 . K1, unK1 . unM1)          `xpWrap` xpOption (optElem xpickle (undefined :: M1 S c f p)) +#if __GLASGOW_HASKELL__ >= 710+instance {-# OVERLAPS #-} Selector c => GXmlPickler (M1 S c (K1 i (Maybe String))) where+#else instance Selector c => GXmlPickler (M1 S c (K1 i (Maybe String))) where+#endif   gxpicklef _ = (M1 . K1, unK1 . unM1)          `xpWrap` xpOption (optElem xpText0 (undefined :: M1 S c f p)) +#if __GLASGOW_HASKELL__ >= 710+instance {-# OVERLAPS #-} Selector c => GXmlPickler (M1 S c (K1 i (Maybe Text))) where+#else instance Selector c => GXmlPickler (M1 S c (K1 i (Maybe Text))) where+#endif   gxpicklef _ = (M1 . K1 . fmap pack, fmap unpack . unK1 . unM1)          `xpWrap` xpOption (optElem xpText0 (undefined :: M1 S c f p)) @@ -157,7 +183,11 @@   [x,'_'] -> [x]   (x:xs)  -> x : stripTrailingUnderscore xs +#if MIN_VERSION_base(4,9,0)+optElem :: forall (t :: * -> Meta -> (* -> *) -> * -> *) i (s :: Meta) (f :: * -> *) p a. Selector s => PU a -> t i s f p -> PU a+#else optElem :: forall a s (t :: * -> (* -> *) -> * -> *) (f :: * -> *) b. Selector s => PU a -> t s f b -> PU a+#endif optElem x y = case formatElement (selName y) of   "" -> x   n  -> n `xpElem` x