ListLike 4.7.8.3 → 4.7.8.4
raw patch · 5 files changed
+19/−8 lines, 5 filesdep −randomPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependencies removed: random
API changes (from Hackage documentation)
- Data.ListLike: class (ListLike full item) => InfiniteListLike full item | full -> item
+ Data.ListLike: class ListLike full item => InfiniteListLike full item | full -> item
- Data.ListLike: class (ListLike full item) => ListLikeIO full item | full -> item
+ Data.ListLike: class ListLike full item => ListLikeIO full item | full -> item
- Data.ListLike: delete :: (ListLike full item, Eq item) => item -> full -> full
+ Data.ListLike: delete :: ListLike full item => item -> full -> full
- Data.ListLike: deleteFirsts :: (ListLike full item, Eq item) => full -> full -> full
+ Data.ListLike: deleteFirsts :: ListLike full item => full -> full -> full
- Data.ListLike: elem :: (ListLike full item, Eq item) => item -> full -> Bool
+ Data.ListLike: elem :: ListLike full item => item -> full -> Bool
- Data.ListLike: elemIndex :: (ListLike full item, Eq item) => item -> full -> Maybe Int
+ Data.ListLike: elemIndex :: ListLike full item => item -> full -> Maybe Int
- Data.ListLike: fromLazyText :: (StringLike s, StringLike Text) => Text -> s
+ Data.ListLike: fromLazyText :: StringLike s => Text -> s
- Data.ListLike: fromText :: (StringLike s, StringLike Text) => Text -> s
+ Data.ListLike: fromText :: StringLike s => Text -> s
- Data.ListLike: insert :: (ListLike full item, Ord item) => item -> full -> full
+ Data.ListLike: insert :: ListLike full item => item -> full -> full
- Data.ListLike: intersect :: (ListLike full item, Eq item) => full -> full -> full
+ Data.ListLike: intersect :: ListLike full item => full -> full -> full
- Data.ListLike: isInfixOf :: (ListLike full item, Eq item) => full -> full -> Bool
+ Data.ListLike: isInfixOf :: ListLike full item => full -> full -> Bool
- Data.ListLike: isPrefixOf :: (ListLike full item, Eq item) => full -> full -> Bool
+ Data.ListLike: isPrefixOf :: ListLike full item => full -> full -> Bool
- Data.ListLike: isSuffixOf :: (ListLike full item, Eq item) => full -> full -> Bool
+ Data.ListLike: isSuffixOf :: ListLike full item => full -> full -> Bool
- Data.ListLike: maximum :: (ListLike full item, Ord item) => full -> item
+ Data.ListLike: maximum :: ListLike full item => full -> item
- Data.ListLike: minimum :: (ListLike full item, Ord item) => full -> item
+ Data.ListLike: minimum :: ListLike full item => full -> item
- Data.ListLike: notElem :: (ListLike full item, Eq item) => item -> full -> Bool
+ Data.ListLike: notElem :: ListLike full item => item -> full -> Bool
- Data.ListLike: nub :: (ListLike full item, Eq item) => full -> full
+ Data.ListLike: nub :: ListLike full item => full -> full
- Data.ListLike: sort :: (ListLike full item, Ord item) => full -> full
+ Data.ListLike: sort :: ListLike full item => full -> full
- Data.ListLike: stripPrefix :: (ListLike full item, Eq item) => full -> full -> Maybe full
+ Data.ListLike: stripPrefix :: ListLike full item => full -> full -> Maybe full
- Data.ListLike: stripSuffix :: (ListLike full item, Eq item) => full -> full -> Maybe full
+ Data.ListLike: stripSuffix :: ListLike full item => full -> full -> Maybe full
- Data.ListLike: type ListOps full = (ListLike full (Item full))
+ Data.ListLike: type ListOps full = ListLike full Item full
- Data.ListLike: union :: (ListLike full item, Eq item) => full -> full -> full
+ Data.ListLike: union :: ListLike full item => full -> full -> full
- Data.ListLike.Base: class (ListLike full item) => InfiniteListLike full item | full -> item
+ Data.ListLike.Base: class ListLike full item => InfiniteListLike full item | full -> item
- Data.ListLike.Base: delete :: (ListLike full item, Eq item) => item -> full -> full
+ Data.ListLike.Base: delete :: ListLike full item => item -> full -> full
- Data.ListLike.Base: deleteFirsts :: (ListLike full item, Eq item) => full -> full -> full
+ Data.ListLike.Base: deleteFirsts :: ListLike full item => full -> full -> full
- Data.ListLike.Base: elem :: (ListLike full item, Eq item) => item -> full -> Bool
+ Data.ListLike.Base: elem :: ListLike full item => item -> full -> Bool
- Data.ListLike.Base: elemIndex :: (ListLike full item, Eq item) => item -> full -> Maybe Int
+ Data.ListLike.Base: elemIndex :: ListLike full item => item -> full -> Maybe Int
- Data.ListLike.Base: insert :: (ListLike full item, Ord item) => item -> full -> full
+ Data.ListLike.Base: insert :: ListLike full item => item -> full -> full
- Data.ListLike.Base: intersect :: (ListLike full item, Eq item) => full -> full -> full
+ Data.ListLike.Base: intersect :: ListLike full item => full -> full -> full
- Data.ListLike.Base: isInfixOf :: (ListLike full item, Eq item) => full -> full -> Bool
+ Data.ListLike.Base: isInfixOf :: ListLike full item => full -> full -> Bool
- Data.ListLike.Base: isPrefixOf :: (ListLike full item, Eq item) => full -> full -> Bool
+ Data.ListLike.Base: isPrefixOf :: ListLike full item => full -> full -> Bool
- Data.ListLike.Base: isSuffixOf :: (ListLike full item, Eq item) => full -> full -> Bool
+ Data.ListLike.Base: isSuffixOf :: ListLike full item => full -> full -> Bool
- Data.ListLike.Base: maximum :: (ListLike full item, Ord item) => full -> item
+ Data.ListLike.Base: maximum :: ListLike full item => full -> item
- Data.ListLike.Base: minimum :: (ListLike full item, Ord item) => full -> item
+ Data.ListLike.Base: minimum :: ListLike full item => full -> item
- Data.ListLike.Base: notElem :: (ListLike full item, Eq item) => item -> full -> Bool
+ Data.ListLike.Base: notElem :: ListLike full item => item -> full -> Bool
- Data.ListLike.Base: nub :: (ListLike full item, Eq item) => full -> full
+ Data.ListLike.Base: nub :: ListLike full item => full -> full
- Data.ListLike.Base: sort :: (ListLike full item, Ord item) => full -> full
+ Data.ListLike.Base: sort :: ListLike full item => full -> full
- Data.ListLike.Base: stripPrefix :: (ListLike full item, Eq item) => full -> full -> Maybe full
+ Data.ListLike.Base: stripPrefix :: ListLike full item => full -> full -> Maybe full
- Data.ListLike.Base: stripSuffix :: (ListLike full item, Eq item) => full -> full -> Maybe full
+ Data.ListLike.Base: stripSuffix :: ListLike full item => full -> full -> Maybe full
- Data.ListLike.Base: type ListOps full = (ListLike full (Item full))
+ Data.ListLike.Base: type ListOps full = ListLike full Item full
- Data.ListLike.Base: union :: (ListLike full item, Eq item) => full -> full -> full
+ Data.ListLike.Base: union :: ListLike full item => full -> full -> full
- Data.ListLike.IO: class (ListLike full item) => ListLikeIO full item | full -> item
+ Data.ListLike.IO: class ListLike full item => ListLikeIO full item | full -> item
- Data.ListLike.String: fromLazyText :: (StringLike s, StringLike Text) => Text -> s
+ Data.ListLike.String: fromLazyText :: StringLike s => Text -> s
- Data.ListLike.String: fromText :: (StringLike s, StringLike Text) => Text -> s
+ Data.ListLike.String: fromText :: StringLike s => Text -> s
Files
- CHANGELOG.md +5/−0
- ListLike.cabal +5/−5
- src/Data/ListLike/Instances.hs +1/−1
- testsrc/TestInfrastructure.hs +2/−0
- testsrc/runtests.hs +6/−2
CHANGELOG.md view
@@ -1,6 +1,11 @@ CHANGES ======= +#### 4.7.8.4 (2025-08-26)++ - fix build with `-Werror=incomplete-patterns`+ - tested with GHC 8.0 - 9.14 alpha1+ #### 4.7.8.3 (2025-03-13) - drop support for GHC 7
ListLike.cabal view
@@ -1,6 +1,6 @@ Cabal-Version: 1.18 Name: ListLike-Version: 4.7.8.3+Version: 4.7.8.4 License: BSD3 Maintainer: David Fox <dsf@seereason.com>, Andreas Abel@@ -24,10 +24,11 @@ Stability: Stable Tested-With:- GHC == 9.12.1- GHC == 9.10.1+ GHC == 9.14.1+ GHC == 9.12.2+ GHC == 9.10.2 GHC == 9.8.4- GHC == 9.6.6+ GHC == 9.6.7 GHC == 9.4.8 GHC == 9.2.8 GHC == 9.0.2@@ -111,7 +112,6 @@ , ListLike , HUnit >= 1.5 && < 2 , QuickCheck >= 2.9 && < 3- , random >= 1.1 && < 2 , array , bytestring , containers
src/Data/ListLike/Instances.hs view
@@ -4,7 +4,7 @@ ,TypeFamilies ,TypeSynonymInstances #-} {-# OPTIONS -Wno-orphans #-}-#if __GLASGOW_HASKELL__ > 901+#if __GLASGOW_HASKELL__ >= 900 {-# OPTIONS -Wno-incomplete-uni-patterns #-} #endif
testsrc/TestInfrastructure.hs view
@@ -275,7 +275,9 @@ -- Andreas Abel, 2023-10-10, issue #32: -- Avoid 'head' and 'tail' from 'Prelude' and thus the x-partial warning of GHC 9.8. head (MyList (x:xs)) = x+ head (MyList []) = undefined tail (MyList (x:xs)) = MyList xs+ tail (MyList [] ) = undefined null (MyList x) = null x instance IsString (MyList Char) where
testsrc/runtests.hs view
@@ -57,11 +57,15 @@ prop_cons f i = llcmp (LL.cons i f) (i : (LL.toList f)) prop_append f1 f2 = llcmp (LL.append f1 f2) (LL.toList f1 ++ LL.toList f2) prop_head f = not (LL.null f) ==> LL.head f == head (LL.toList f)- where head (x:xs) = x+ where+ head (x:xs) = x+ head [] = undefined -- Andreas Abel, 2023-10-10, issue #32: -- Redefine 'head' and 'tail' to avoid the x-partial warning of GHC 9.8. prop_tail f = not (LL.null f) ==> llcmp (LL.tail f) (tail (LL.toList f))- where tail (x:xs) = xs+ where+ tail (x:xs) = xs+ tail [] = undefined prop_init f = not (LL.null f) ==> llcmp (LL.init f) (init (LL.toList f)) prop_last f = not (LL.null f) ==> LL.last f == last (LL.toList f) prop_null f = LL.null f == null (LL.toList f)