on master help sign in
Add Werror CI for ghc-9.4.4 (#2370)
a182f8dRanjeet Ranjan
.github/workflows/haskell.yml+8−8
@@ -74,6 +74,14 @@ jobs:
74 cabal_project: cabal.project.ghc-head
74 cabal_project: cabal.project.ghc-head
75 disable_sdist_build: "y"
75 disable_sdist_build: "y"
76 ignore_error: true
76 ignore_error: true
77+ - name: 9.4.4-Werror
78+ ghc_version: 9.4.4
79+ runner: ubuntu-latest
80+ build: cabal
81+ cabal_version: 3.8.1.0
82+ disable_sdist_build: "y"
83+ cabal_project: cabal.project.Werror
84+ ignore_error: true
77 - name: 9.4.4-fusion-inspection
85 - name: 9.4.4-fusion-inspection
78 ghc_version: 9.4.4
86 ghc_version: 9.4.4
79 runner: ubuntu-latest
87 runner: ubuntu-latest
@@ -136,14 +144,6 @@ jobs:
136 # coverage: "y"
144 # coverage: "y"
137 # cabal_version: 3.6.2.0
145 # cabal_version: 3.6.2.0
138 # ignore_error: false
146 # ignore_error: false
139− - name: 8.10.7-Werror
140− ghc_version: 8.10.7
141− runner: ubuntu-latest
142− build: cabal
143− cabal_version: 3.6.2.0
144− cabal_project: cabal.project.Werror
145− disable_sdist_build: "y"
146− ignore_error: false
147 - name: 8.8.4
147 - name: 8.8.4
148 ghc_version: 8.8.4
148 ghc_version: 8.8.4
149 runner: ubuntu-latest
149 runner: ubuntu-latest
benchmark/Streamly/Benchmark/Data/Fold.hs+2−2
@@ -214,7 +214,7 @@ demuxToIntMap :: Monad m =>
214demuxToIntMap f g = Stream.fold (FL.demuxToContainer f g)
214demuxToIntMap f g = Stream.fold (FL.demuxToContainer f g)
215
215
216{-# INLINE demuxToHashMap #-}
216{-# INLINE demuxToHashMap #-}
217−demuxToHashMap :: (Monad m, Ord k, Hashable k) =>
217+demuxToHashMap :: (Monad m, Hashable k) =>
218 (a -> k) -> (a -> m (Fold m a b)) -> Stream m a -> m (HashMap k b)
218 (a -> k) -> (a -> m (Fold m a b)) -> Stream m a -> m (HashMap k b)
219demuxToHashMap f g = Stream.fold (FL.demuxToContainer f g)
219demuxToHashMap f g = Stream.fold (FL.demuxToContainer f g)
220
220
@@ -224,7 +224,7 @@ demuxToMapIO :: (MonadIO m, Ord k) =>
224demuxToMapIO f g = Stream.fold (FL.demuxToContainerIO f g)
224demuxToMapIO f g = Stream.fold (FL.demuxToContainerIO f g)
225
225
226{-# INLINE demuxToHashMapIO #-}
226{-# INLINE demuxToHashMapIO #-}
227−demuxToHashMapIO :: (MonadIO m, Ord k, Hashable k) =>
227+demuxToHashMapIO :: (MonadIO m, Hashable k) =>
228 (a -> k) -> (a -> m (Fold m a b)) -> Stream m a -> m (HashMap k b)
228 (a -> k) -> (a -> m (Fold m a b)) -> Stream m a -> m (HashMap k b)
229demuxToHashMapIO f g = Stream.fold (FL.demuxToContainerIO f g)
229demuxToHashMapIO f g = Stream.fold (FL.demuxToContainerIO f g)
230
230
core/src/Streamly/Internal/Data/Fold/Tee.hs+1−1
@@ -77,7 +77,7 @@ instance (Semigroup b, Monad m) => Semigroup (Tee m a b) where
77-- | '<>' distributes the input to both the argument 'Tee's and combines their
77-- | '<>' distributes the input to both the argument 'Tee's and combines their
78-- outputs using the 'Monoid' instance of the output type.
78-- outputs using the 'Monoid' instance of the output type.
79--
79--
80−instance (Semigroup b, Monoid b, Monad m) => Monoid (Tee m a b) where
80+instance (Monoid b, Monad m) => Monoid (Tee m a b) where
81 {-# INLINE mempty #-}
81 {-# INLINE mempty #-}
82 mempty = pure mempty
82 mempty = pure mempty
83
83
core/src/Streamly/Internal/Data/Parser/ParserD/Type.hs+1−1
@@ -1382,7 +1382,7 @@ instance Monad m => MonadPlus (Parser a m) where
1382 mplus = alt
1382 mplus = alt
1383-}
1383-}
1384
1384
1385−instance (Monad m, MonadIO m) => MonadIO (Parser a m) where
1385+instance (MonadIO m) => MonadIO (Parser a m) where
1386 {-# INLINE liftIO #-}
1386 {-# INLINE liftIO #-}
1387 liftIO = fromEffect . liftIO
1387 liftIO = fromEffect . liftIO
1388
1388
core/src/Streamly/Internal/Data/Unboxed.hs+2−2
@@ -737,7 +737,7 @@ instance (KnownNat n, PokeRep a) => PokeRepSum n (C1 c a) where
737 pokeBoundedPtr (fromInteger (natVal (Proxy :: Proxy n)) :: Word8) ptr
737 pokeBoundedPtr (fromInteger (natVal (Proxy :: Proxy n)) :: Word8) ptr
738 >>= pokeRep x
738 >>= pokeRep x
739
739
740−instance (KnownNat n, PokeRepSum n f, PokeRepSum (n + SumArity f) g)
740+instance (PokeRepSum n f, PokeRepSum (n + SumArity f) g)
741 => PokeRepSum n (f :+: g) where
741 => PokeRepSum n (f :+: g) where
742 {-# INLINE pokeRepSum #-}
742 {-# INLINE pokeRepSum #-}
743 pokeRepSum _ (L1 x) ptr =
743 pokeRepSum _ (L1 x) ptr =
@@ -816,7 +816,7 @@ instance (KnownNat n, PeekRep a) => PeekRepSum n (C1 c a) where
816
816
817 curTag = fromInteger (natVal (Proxy :: Proxy n))
817 curTag = fromInteger (natVal (Proxy :: Proxy n))
818
818
819−instance (KnownNat n, PeekRepSum n f, PeekRepSum (n + SumArity f) g)
819+instance (PeekRepSum n f, PeekRepSum (n + SumArity f) g)
820 => PeekRepSum n (f :+: g) where
820 => PeekRepSum n (f :+: g) where
821 {-# INLINE peekRepSum #-}
821 {-# INLINE peekRepSum #-}
822 peekRepSum curProxy tag
822 peekRepSum curProxy tag
src/Streamly/Internal/Data/IsMap/HashMap.hs+1−1
@@ -20,7 +20,7 @@ import Streamly.Internal.Data.IsMap (IsMap(..))
20
20
21import qualified Data.HashMap.Strict as HashMap
21import qualified Data.HashMap.Strict as HashMap
22
22
23−instance (Hashable k, Eq k) => IsMap (HashMap.HashMap k) where
23+instance (Hashable k) => IsMap (HashMap.HashMap k) where
24 type Key (HashMap.HashMap k) = k
24 type Key (HashMap.HashMap k) = k
25
25
26 mapEmpty = HashMap.empty
26 mapEmpty = HashMap.empty
src/Streamly/Internal/Data/Stream/Ahead.hs+1
@@ -1,5 +1,6 @@
1{-# LANGUAGE UndecidableInstances #-}
1{-# LANGUAGE UndecidableInstances #-}
2{-# OPTIONS_GHC -fno-warn-deprecations #-}
2{-# OPTIONS_GHC -fno-warn-deprecations #-}
3+{-# OPTIONS_GHC -Wno-redundant-constraints #-}
3
4
4-- |
5-- |
5-- Module : Streamly.Internal.Data.Stream.Ahead
6-- Module : Streamly.Internal.Data.Stream.Ahead
src/Streamly/Internal/Data/Stream/Async.hs+1
@@ -1,5 +1,6 @@
1{-# LANGUAGE UndecidableInstances #-}
1{-# LANGUAGE UndecidableInstances #-}
2{-# OPTIONS_GHC -fno-warn-deprecations #-}
2{-# OPTIONS_GHC -fno-warn-deprecations #-}
3+{-# OPTIONS_GHC -Wno-redundant-constraints #-}
3
4
4#include "inline.hs"
5#include "inline.hs"
5
6
src/Streamly/Internal/Data/Stream/Parallel.hs+1
@@ -1,5 +1,6 @@
1{-# LANGUAGE UndecidableInstances #-}
1{-# LANGUAGE UndecidableInstances #-}
2{-# OPTIONS_GHC -fno-warn-deprecations #-}
2{-# OPTIONS_GHC -fno-warn-deprecations #-}
3+{-# OPTIONS_GHC -Wno-redundant-constraints #-}
3
4
4-- |
5-- |
5-- Module : Streamly.Internal.Data.Stream.Parallel
6-- Module : Streamly.Internal.Data.Stream.Parallel
src/Streamly/Internal/Data/Stream/Serial.hs+1
@@ -1,5 +1,6 @@
1{-# LANGUAGE UndecidableInstances #-}
1{-# LANGUAGE UndecidableInstances #-}
2{-# OPTIONS_GHC -Wno-deprecations #-}
2{-# OPTIONS_GHC -Wno-deprecations #-}
3+{-# OPTIONS_GHC -Wno-redundant-constraints #-}
3
4
4-- |
5-- |
5-- Module : Streamly.Internal.Data.Stream.Serial
6-- Module : Streamly.Internal.Data.Stream.Serial