packages feed

generic-data 1.1.0.0 → 1.1.0.1

raw patch · 4 files changed

+30/−7 lines, 4 filesdep ~basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: base

API changes (from Hackage documentation)

- Generic.Data: Generically1 :: f a -> Generically1 f a
- Generic.Data.Internal.Generically: Generically1 :: f a -> Generically1 f a
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, GHC.Classes.Eq (GHC.Generics.Rep a ())) => GHC.Classes.Eq (Generic.Data.Internal.Generically.Generically a)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, GHC.Classes.Ord (GHC.Generics.Rep a ())) => GHC.Classes.Ord (Generic.Data.Internal.Generically.Generically a)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, GHC.Classes.Ord (GHC.Generics.Rep a ()), Generic.Data.Internal.Enum.GIx (GHC.Generics.Rep a)) => GHC.Ix.Ix (Generic.Data.Internal.Generically.Generically a)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, Generic.Data.Internal.Enum.GBounded (GHC.Generics.Rep a)) => GHC.Enum.Bounded (Generic.Data.Internal.Generically.Generically a)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, Generic.Data.Internal.Enum.GEnum Generic.Data.Internal.Enum.StandardEnum (GHC.Generics.Rep a)) => GHC.Enum.Enum (Generic.Data.Internal.Generically.Generically a)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, Generic.Data.Internal.Read.GRead0 (GHC.Generics.Rep a)) => GHC.Read.Read (Generic.Data.Internal.Generically.Generically a)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, Generic.Data.Internal.Show.GShow0 (GHC.Generics.Rep a)) => GHC.Show.Show (Generic.Data.Internal.Generically.Generically a)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Data.Functor.Classes.Eq1 (GHC.Generics.Rep1 f)) => Data.Functor.Classes.Eq1 (Generic.Data.Internal.Generically.Generically1 f)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Data.Functor.Classes.Eq1 (GHC.Generics.Rep1 f), GHC.Classes.Eq a) => GHC.Classes.Eq (Generic.Data.Internal.Generically.Generically1 f a)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Data.Functor.Classes.Ord1 (GHC.Generics.Rep1 f)) => Data.Functor.Classes.Ord1 (Generic.Data.Internal.Generically.Generically1 f)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Data.Functor.Classes.Ord1 (GHC.Generics.Rep1 f), GHC.Classes.Ord a) => GHC.Classes.Ord (Generic.Data.Internal.Generically.Generically1 f a)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, GHC.Base.Alternative (GHC.Generics.Rep1 f)) => GHC.Base.Alternative (Generic.Data.Internal.Generically.Generically1 f)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, GHC.Base.Applicative (GHC.Generics.Rep1 f)) => GHC.Base.Applicative (Generic.Data.Internal.Generically.Generically1 f)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, GHC.Base.Functor (GHC.Generics.Rep1 f)) => GHC.Base.Functor (Generic.Data.Internal.Generically.Generically1 f)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, GHC.Base.Functor (GHC.Generics.Rep1 f), Generic.Data.Internal.Traversable.GFoldable (GHC.Generics.Rep1 f), Generic.Data.Internal.Traversable.GTraversable (GHC.Generics.Rep1 f)) => Data.Traversable.Traversable (Generic.Data.Internal.Generically.Generically1 f)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Generic.Data.Internal.Read.GRead1 (GHC.Generics.Rep1 f)) => Data.Functor.Classes.Read1 (Generic.Data.Internal.Generically.Generically1 f)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Generic.Data.Internal.Read.GRead1 (GHC.Generics.Rep1 f), GHC.Read.Read a) => GHC.Read.Read (Generic.Data.Internal.Generically.Generically1 f a)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Generic.Data.Internal.Show.GShow1 (GHC.Generics.Rep1 f)) => Data.Functor.Classes.Show1 (Generic.Data.Internal.Generically.Generically1 f)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Generic.Data.Internal.Show.GShow1 (GHC.Generics.Rep1 f), GHC.Show.Show a) => GHC.Show.Show (Generic.Data.Internal.Generically.Generically1 f a)
- Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Generic.Data.Internal.Traversable.GFoldable (GHC.Generics.Rep1 f)) => Data.Foldable.Foldable (Generic.Data.Internal.Generically.Generically1 f)
- Generic.Data.Internal.Generically: instance (Generic.Data.Internal.Error.AssertNoSum GHC.Base.Semigroup a, GHC.Base.Semigroup a, GHC.Generics.Generic a, GHC.Base.Monoid (GHC.Generics.Rep a ())) => GHC.Base.Monoid (Generic.Data.Internal.Generically.Generically a)
- Generic.Data.Internal.Generically: instance (Generic.Data.Internal.Error.AssertNoSum GHC.Base.Semigroup a, GHC.Generics.Generic a, GHC.Base.Semigroup (GHC.Generics.Rep a ())) => GHC.Base.Semigroup (Generic.Data.Internal.Generically.Generically a)
- Generic.Data.Internal.Generically: instance GHC.Generics.Generic (f a) => GHC.Generics.Generic (Generic.Data.Internal.Generically.Generically1 f a)
- Generic.Data.Internal.Generically: instance GHC.Generics.Generic a => GHC.Generics.Generic (Generic.Data.Internal.Generically.Generically a)
- Generic.Data.Internal.Generically: instance GHC.Generics.Generic1 f => GHC.Generics.Generic1 (Generic.Data.Internal.Generically.Generically1 f)
+ Generic.Data: [Generically1] :: forall {k} (f :: k -> Type) (a :: k). f a -> Generically1 f a
+ Generic.Data.Internal.Generically: [Generically1] :: forall {k} (f :: k -> Type) (a :: k). f a -> Generically1 f a
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, GHC.Classes.Eq (GHC.Generics.Rep a ())) => GHC.Classes.Eq (GHC.Generics.Generically a)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, GHC.Classes.Ord (GHC.Generics.Rep a ())) => GHC.Classes.Ord (GHC.Generics.Generically a)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, GHC.Classes.Ord (GHC.Generics.Rep a ()), Generic.Data.Internal.Enum.GIx (GHC.Generics.Rep a)) => GHC.Ix.Ix (GHC.Generics.Generically a)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, Generic.Data.Internal.Enum.GBounded (GHC.Generics.Rep a)) => GHC.Enum.Bounded (GHC.Generics.Generically a)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, Generic.Data.Internal.Enum.GEnum Generic.Data.Internal.Enum.StandardEnum (GHC.Generics.Rep a)) => GHC.Enum.Enum (GHC.Generics.Generically a)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, Generic.Data.Internal.Read.GRead0 (GHC.Generics.Rep a)) => GHC.Read.Read (GHC.Generics.Generically a)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic a, Generic.Data.Internal.Show.GShow0 (GHC.Generics.Rep a)) => GHC.Show.Show (GHC.Generics.Generically a)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, GHC.Base.Functor (GHC.Generics.Rep1 f), Generic.Data.Internal.Traversable.GFoldable (GHC.Generics.Rep1 f), Generic.Data.Internal.Traversable.GTraversable (GHC.Generics.Rep1 f)) => Data.Traversable.Traversable (GHC.Generics.Generically1 f)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Generic.Data.Internal.Read.GRead1 (GHC.Generics.Rep1 f)) => Data.Functor.Classes.Read1 (GHC.Generics.Generically1 f)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Generic.Data.Internal.Read.GRead1 (GHC.Generics.Rep1 f), GHC.Read.Read a) => GHC.Read.Read (GHC.Generics.Generically1 f a)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Generic.Data.Internal.Show.GShow1 (GHC.Generics.Rep1 f)) => Data.Functor.Classes.Show1 (GHC.Generics.Generically1 f)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Generic.Data.Internal.Show.GShow1 (GHC.Generics.Rep1 f), GHC.Show.Show a) => GHC.Show.Show (GHC.Generics.Generically1 f a)
+ Generic.Data.Internal.Generically: instance (GHC.Generics.Generic1 f, Generic.Data.Internal.Traversable.GFoldable (GHC.Generics.Rep1 f)) => Data.Foldable.Foldable (GHC.Generics.Generically1 f)
+ Generic.Data.Internal.Generically: instance GHC.Generics.Generic (f a) => GHC.Generics.Generic (GHC.Generics.Generically1 f a)
+ Generic.Data.Internal.Generically: instance GHC.Generics.Generic a => GHC.Generics.Generic (GHC.Generics.Generically a)
+ Generic.Data.Internal.Generically: instance GHC.Generics.Generic1 f => GHC.Generics.Generic1 (GHC.Generics.Generically1 f)
- Generic.Data: class Generic a
+ Generic.Data: class () => Generic a
- Generic.Data: class Generic1 (f :: k -> Type)
+ Generic.Data: class () => Generic1 (f :: k -> Type)
- Generic.Data: newtype Generically a
+ Generic.Data: newtype () => Generically a
- Generic.Data: newtype Generically1 f a
+ Generic.Data: newtype () => Generically1 (f :: k -> Type) (a :: k)
- Generic.Data.Internal.Error: type AssertNoSum (constraint :: Type -> Constraint) a = Assert (Not (HasSum (Rep a))) ('Text "Cannot derive " :<>: 'ShowType constraint :<>: 'Text " instance for " :<>: 'ShowType a :<>: 'Text " due to sum type")
+ Generic.Data.Internal.Error: type AssertNoSum (constraint :: Type -> Constraint) a = Assert (Not (HasSum (Rep a))) ('Text "Cannot derive " ':<>: 'ShowType constraint ':<>: 'Text " instance for " ':<>: 'ShowType a ':<>: 'Text " due to sum type")
- Generic.Data.Internal.Generically: newtype Generically a
+ Generic.Data.Internal.Generically: newtype () => Generically a
- Generic.Data.Internal.Generically: newtype Generically1 f a
+ Generic.Data.Internal.Generically: newtype () => Generically1 (f :: k -> Type) (a :: k)
- Generic.Data.Microsurgery: newtype Generically a
+ Generic.Data.Microsurgery: newtype () => Generically a

Files

CHANGELOG.md view
@@ -1,8 +1,14 @@+# 1.1.0.1++- Compatibility with *base* 4.21 (GHC 9.12)+- Avoid dependency on *contravariant*+ # 1.1.0.0  - Remove `Eq` and `Ord` for `Generically1` instances.   They are now available in *base* 4.18, and *base-orphans* 0.8.8   for backwards compatibility.+- (Revisions) Also compatible with *base* 4.20 (GHC 9.10) and 4.19 (GHC 9.8)  # 1.0.0.1 
generic-data.cabal view
@@ -1,5 +1,5 @@ name:                generic-data-version:             1.1.0.0+version:             1.1.0.1 synopsis:            Deriving instances with GHC.Generics and related utilities description:   Generic implementations of standard type classes.@@ -17,7 +17,8 @@ cabal-version:       >=1.10 tested-with:         GHC == 8.0.2, GHC == 8.2.2, GHC == 8.4.4,                      GHC == 8.6.5, GHC == 8.10.7, GHC == 9.0.2,-                     GHC == 9.2.7, GHC == 9.4.4, GHC == 9.6.1+                     GHC == 9.2.8, GHC == 9.4.8, GHC == 9.6.6,+                     GHC == 9.8.2, GHC == 9.10.1  library   hs-source-dirs:      src@@ -43,10 +44,11 @@   build-depends:     ap-normalize >= 0.1 && < 0.2,     base-orphans >= 0.8.8,-    contravariant,     ghc-boot-th,     show-combinators,-    base >= 4.9 && < 4.19+    base >= 4.9 && < 4.22+  if impl(ghc < 9.6)+    build-depends: contravariant   hs-source-dirs:      orphans   exposed-modules:     Generic.Data.Orphans
orphans/Generic/Data/Orphans.hs view
@@ -1,14 +1,19 @@ {-# OPTIONS_GHC -Wno-orphans #-} +{-# LANGUAGE CPP #-} {-# LANGUAGE EmptyCase #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TypeOperators #-} --- | Orphan instances. They should probably be upstreamed.+-- | Orphan instances.+--+-- The orphan instances in this module have been upstreamed in base 4.21 (GHC 9.12).+-- This module is empty starting from that version. It remains for backwards compatiblity.  module Generic.Data.Orphans where +#if __GLASGOW_HASKELL__ < 912 import Data.Functor.Classes import Data.Orphans () import Data.Semigroup@@ -71,3 +76,4 @@ instance (Ord1 f, Ord1 g) => Ord1 (f :.: g) where   liftCompare compare' (Comp1 x1) (Comp1 x2) =     (liftCompare . liftCompare) compare' x1 x2+#endif
test/unit.hs view
@@ -138,12 +138,21 @@   showsPrec = gshowsPrec  maybeModuleName :: String-#if MIN_VERSION_base(4,12,0)+#if MIN_VERSION_base(4,20,0)+maybeModuleName = "GHC.Internal.Maybe"+#elif MIN_VERSION_base(4,12,0) maybeModuleName = "GHC.Maybe" #else maybeModuleName = "GHC.Base" #endif +maybePackageName :: String+#if MIN_VERSION_base(4,20,0)+maybePackageName = "ghc-internal"+#else+maybePackageName = "base"+#endif+ main :: IO () main = defaultMain test @@ -253,7 +262,7 @@   , testGroup "Meta"       [ testCase "datatypeName" $ "Maybe" @=? gdatatypeName @(Maybe Int)       , testCase "moduleName" $ maybeModuleName @=? gmoduleName @(Maybe Int)-      , testCase "packageName" $ "base" @=? gpackageName @(Maybe Int)+      , testCase "packageName" $ maybePackageName @=? gpackageName @(Maybe Int)       , testCase "isNewtype" $ False @=? gisNewtype @(Maybe Int)       , testCase "conName" $ "Just" @=? gconName (Just ())       , testCase "conFixity" $ Prefix @=? gconFixity (Just ())