base-orphans 0.8.6 → 0.8.7
raw patch · 6 files changed
+140/−8 lines, 6 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CBool
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CChar
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CInt
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CIntMax
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CIntPtr
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CLLong
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CLong
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CPtrdiff
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CSChar
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CShort
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CSigAtomic
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CSize
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CUChar
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CUInt
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CUIntMax
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CUIntPtr
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CULLong
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CULong
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CUShort
+ Data.Orphans: instance GHC.Ix.Ix Foreign.C.Types.CWchar
+ Data.Orphans: instance GHC.Ix.Ix Foreign.Ptr.IntPtr
+ Data.Orphans: instance GHC.Ix.Ix Foreign.Ptr.WordPtr
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CBlkCnt
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CBlkSize
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CCc
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CClockId
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CDev
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CFsBlkCnt
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CFsFilCnt
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CGid
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CId
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CIno
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CKey
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CMode
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CNfds
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CNlink
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.COff
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CPid
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CRLim
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CSocklen
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CSpeed
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CSsize
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CTcflag
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.CUid
+ Data.Orphans: instance GHC.Ix.Ix System.Posix.Types.Fd
Files
- CHANGES.markdown +8/−0
- README.markdown +2/−0
- base-orphans.cabal +4/−4
- src/Data/Orphans.hs +121/−2
- src/Data/Orphans/Prelude.hs +1/−1
- test/Data/Version/OrphansSpec.hs +4/−1
CHANGES.markdown view
@@ -1,3 +1,11 @@+## Changes in 0.8.7 [2022.08.11]+ - Backport new instances from GHC 9.2.2/`base-4.16.1.0`:+ * `Ix` instances for various integral types in `Foreign.C.Types`,+ `Foreign.Ptr`, and `System.Posix.Types`. For a complete list of such types,+ see https://gitlab.haskell.org/ghc/ghc/-/merge_requests/7385.+ - Backport a bugfix for the `Ord1 Down` instance from GHC 9.4/`base-4.17` such+ that it now uses reverse sort order.+ ## Changes in 0.8.6 [2021.10.29] - Backport `Eq`, `Ord`, `Bounded`, `Enum`, and `Ix` instances for `Solo`, introduced in GHC 9.2/`base-4.16`
README.markdown view
@@ -67,6 +67,7 @@ * `Functor`, `Applicative`, `Monad`, `Alternative`, and `MonadPlus` instances for `Kleisli` * `Ix` instances for tuples of size 6 through 15+ * `Ix` instances for integral types in `Foreign.C.Types`, `Foreign.Ptr`, and `System.Posix.Types` * `Monad` instance for `(,)` * `Monad` instance for `WrappedMonad` * `MonadFail`, `Monoid`, and `Semigroup` instances for strict `ST`@@ -100,6 +101,7 @@ ## Supported versions of GHC/`base` + * `ghc-9.4.*` / `base-4.17.*` * `ghc-9.2.*` / `base-4.16.*` * `ghc-9.0.*` / `base-4.15.*` * `ghc-8.10.*` / `base-4.14.*`
base-orphans.cabal view
@@ -1,13 +1,13 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.34.5.+-- This file has been generated from package.yaml by hpack version 0.35.0. -- -- see: https://github.com/sol/hpack ----- hash: 804afa44cbb02fb57224b372fbde6da86b3817761980426d9505942e9b67551f+-- hash: 72579eb12963b1336e2e979d497378f6dac77805e17a8e53f86b6b2984fcab08 name: base-orphans-version: 0.8.6+version: 0.8.7 synopsis: Backwards-compatible orphan instances for base description: @base-orphans@ defines orphan instances that mimic instances available in later versions of @base@ to a wider (older) range of compilers.@@ -36,7 +36,7 @@ license-file: LICENSE build-type: Simple tested-with:- GHC == 7.0.4 , GHC == 7.2.2 , GHC == 7.4.2 , GHC == 7.6.3 , GHC == 7.8.4 , GHC == 7.10.3 , GHC == 8.0.2 , GHC == 8.2.2 , GHC == 8.4.4 , GHC == 8.6.5 , GHC == 8.8.4 , GHC == 8.10.7 , GHC == 9.0.1 , GHC == 9.2.1+ GHC == 7.0.4 , GHC == 7.2.2 , GHC == 7.4.2 , GHC == 7.6.3 , GHC == 7.8.4 , GHC == 7.10.3 , GHC == 8.0.2 , GHC == 8.2.2 , GHC == 8.4.4 , GHC == 8.6.5 , GHC == 8.8.4 , GHC == 8.10.7 , GHC == 9.0.2 , GHC == 9.2.2 extra-source-files: CHANGES.markdown README.markdown
src/Data/Orphans.hs view
@@ -91,7 +91,7 @@ # endif #endif -#if !(MIN_VERSION_base(4,16,0))+#if !(MIN_VERSION_base(4,16,1)) import Data.Orphans.Prelude #endif @@ -1063,7 +1063,10 @@ instance Eq1 Down where liftEq eq (Down x) (Down y) = eq x y instance Ord1 Down where- liftCompare comp (Down x) (Down y) = comp x y+ liftCompare comp (Down x) (Down y) = case comp x y of+ LT -> GT+ EQ -> EQ+ GT -> LT instance Read1 Down where liftReadsPrec rp _ = readsData $ readsUnaryWith rp "Down" Down@@ -1841,6 +1844,122 @@ inRange (l, u) i -- Default method for index+# endif+#endif++#if !(MIN_VERSION_base(4,16,1))+# if MIN_VERSION_base(4,5,0)+-- These are guarded on base-4.5.0 because that was the first version which+-- exported their constructors, which is necessary to use+-- GeneralizedNewtypeDeriving. See+-- https://gitlab.haskell.org/ghc/ghc/-/issues/5529.+deriving instance Ix CChar+deriving instance Ix CSChar+deriving instance Ix CUChar+deriving instance Ix CShort+deriving instance Ix CUShort+deriving instance Ix CInt+deriving instance Ix CUInt+deriving instance Ix CLong+deriving instance Ix CULong+deriving instance Ix CLLong+deriving instance Ix CULLong+deriving instance Ix CPtrdiff+deriving instance Ix CSize+deriving instance Ix CWchar+deriving instance Ix CSigAtomic+deriving instance Ix CIntPtr+deriving instance Ix CUIntPtr+deriving instance Ix CIntMax+deriving instance Ix CUIntMax+# endif+# if MIN_VERSION_base(4,10,0)+deriving instance Ix CBool+# endif++# if MIN_VERSION_base(4,10,0)+-- These are guarded on base-4.10.0 because that was the first version which+-- exported their constructors, which is necessary to use+-- GeneralizedNewtypeDeriving. See+-- https://gitlab.haskell.org/ghc/ghc/-/issues/11983.+deriving instance Ix WordPtr+deriving instance Ix IntPtr+# endif++# if MIN_VERSION_base(4,5,0)+-- These are guarded on base-4.5.0 because that was the first version which+-- exported their constructors, which is necessary to use+-- GeneralizedNewtypeDeriving. See+-- https://gitlab.haskell.org/ghc/ghc/-/issues/5529.+# if defined(HTYPE_DEV_T)+deriving instance Ix CDev+# endif+# if defined(HTYPE_INO_T)+deriving instance Ix CIno+# endif+# if defined(HTYPE_MODE_T)+deriving instance Ix CMode+# endif+# if defined(HTYPE_OFF_T)+deriving instance Ix COff+# endif+# if defined(HTYPE_PID_T)+deriving instance Ix CPid+# endif+# if defined(HTYPE_SSIZE_T)+deriving instance Ix CSsize+# endif+# if defined(HTYPE_GID_T)+deriving instance Ix CGid+# endif+# if defined(HTYPE_NLINK_T)+deriving instance Ix CNlink+# endif+# if defined(HTYPE_UID_T)+deriving instance Ix CUid+# endif+# if defined(HTYPE_CC_T)+deriving instance Ix CCc+# endif+# if defined(HTYPE_SPEED_T)+deriving instance Ix CSpeed+# endif+# if defined(HTYPE_TCFLAG_T)+deriving instance Ix CTcflag+# endif+# if defined(HTYPE_RLIM_T)+deriving instance Ix CRLim+# endif+deriving instance Ix Fd+# endif+# if MIN_VERSION_base(4,10,0)+# if defined(HTYPE_BLKSIZE_T)+deriving instance Ix CBlkSize+# endif+# if defined(HTYPE_BLKCNT_T)+deriving instance Ix CBlkCnt+# endif+# if defined(HTYPE_CLOCKID_T)+deriving instance Ix CClockId+# endif+# if defined(HTYPE_FSBLKCNT_T)+deriving instance Ix CFsBlkCnt+# endif+# if defined(HTYPE_FSFILCNT_T)+deriving instance Ix CFsFilCnt+# endif+# if defined(HTYPE_ID_T)+deriving instance Ix CId+# endif+# if defined(HTYPE_KEY_T)+deriving instance Ix CKey+# endif+# if defined(HTYPE_SOCKLEN_T)+deriving instance Ix CSocklen+# endif+# if defined(HTYPE_NFDS_T)+deriving instance Ix CNfds+# endif # endif #endif
src/Data/Orphans/Prelude.hs view
@@ -21,7 +21,7 @@ Note that this module does not export any modules that could introduce name clashes. -} module Data.Orphans.Prelude-#if MIN_VERSION_base(4,16,0)+#if MIN_VERSION_base(4,16,1) () where #else ( module OrphansPrelude
test/Data/Version/OrphansSpec.hs view
@@ -18,7 +18,10 @@ describe "Data Version instance" $ it "allows obtaining a Version constructor" $ dataTypeName (dataTypeOf (Version [1,2,3] [])) `shouldBe`-#if __GLASGOW_HASKELL__ >= 801+-- Some old versions of GHC incorrectly return "Version" instead of+-- "Data.Version.Version" due to+-- https://gitlab.haskell.org/ghc/ghc/-/issues/20371.+#if __GLASGOW_HASKELL__ >= 801 && __GLASGOW_HASKELL__ < 903 "Version" #else "Data.Version.Version"