dev: fix warnings with ghc 9.10 / base 4.20
Older ghc versions should also still build cleanly (tested with 9.8 so far). I don't like enabling CPP in so many modules but it's easier that figuring out how to do it with base-compat; hopefully no noticeable compilation impact.
This commit is contained in:
parent
1b60ebb61f
commit
c92b601028
@ -34,7 +34,10 @@ module Hledger.Data.Account
|
|||||||
|
|
||||||
import qualified Data.HashSet as HS
|
import qualified Data.HashSet as HS
|
||||||
import qualified Data.HashMap.Strict as HM
|
import qualified Data.HashMap.Strict as HM
|
||||||
import Data.List (find, foldl', sortOn)
|
import Data.List (find, sortOn)
|
||||||
|
#if !MIN_VERSION_base(4,20,0)
|
||||||
|
import Data.List (foldl')
|
||||||
|
#endif
|
||||||
import Data.List.Extra (groupOn)
|
import Data.List.Extra (groupOn)
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
import Data.Ord (Down(..))
|
import Data.Ord (Down(..))
|
||||||
|
|||||||
@ -39,6 +39,7 @@ with similar amounts since it mostly ignores costss and commodity exchange rates
|
|||||||
|
|
||||||
-}
|
-}
|
||||||
|
|
||||||
|
{-# LANGUAGE CPP #-}
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
{-# LANGUAGE RecordWildCards #-}
|
{-# LANGUAGE RecordWildCards #-}
|
||||||
{-# LANGUAGE NamedFieldPuns #-}
|
{-# LANGUAGE NamedFieldPuns #-}
|
||||||
@ -175,7 +176,10 @@ import Data.Char (isDigit)
|
|||||||
import Data.Decimal (DecimalRaw(..), decimalPlaces, normalizeDecimal, roundTo)
|
import Data.Decimal (DecimalRaw(..), decimalPlaces, normalizeDecimal, roundTo)
|
||||||
import Data.Default (Default(..))
|
import Data.Default (Default(..))
|
||||||
import Data.Foldable (toList)
|
import Data.Foldable (toList)
|
||||||
import Data.List (find, foldl', intercalate, intersperse, mapAccumL, partition)
|
import Data.List (find, intercalate, intersperse, mapAccumL, partition)
|
||||||
|
#if !MIN_VERSION_base(4,20,0)
|
||||||
|
import Data.List (foldl')
|
||||||
|
#endif
|
||||||
import Data.List.NonEmpty (NonEmpty(..), nonEmpty)
|
import Data.List.NonEmpty (NonEmpty(..), nonEmpty)
|
||||||
import qualified Data.Map.Strict as M
|
import qualified Data.Map.Strict as M
|
||||||
import qualified Data.Set as S
|
import qualified Data.Set as S
|
||||||
|
|||||||
@ -1,9 +1,10 @@
|
|||||||
|
{-# LANGUAGE CPP #-}
|
||||||
{-# LANGUAGE NamedFieldPuns #-}
|
{-# LANGUAGE NamedFieldPuns #-}
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
{-# LANGUAGE Rank2Types #-}
|
{-# LANGUAGE Rank2Types #-}
|
||||||
{-# LANGUAGE ScopedTypeVariables #-}
|
{-# LANGUAGE ScopedTypeVariables #-}
|
||||||
{-# LANGUAGE TupleSections #-}
|
{-# LANGUAGE TupleSections #-}
|
||||||
{-# LANGUAGE RecordWildCards #-}
|
{-# LANGUAGE RecordWildCards #-}
|
||||||
|
|
||||||
{-|
|
{-|
|
||||||
|
|
||||||
@ -122,7 +123,10 @@ import Control.Monad.State.Strict (StateT)
|
|||||||
import Data.Char (toUpper, isDigit)
|
import Data.Char (toUpper, isDigit)
|
||||||
import Data.Default (Default(..))
|
import Data.Default (Default(..))
|
||||||
import Data.Foldable (toList)
|
import Data.Foldable (toList)
|
||||||
import Data.List ((\\), find, foldl', sortBy, union, intercalate)
|
import Data.List ((\\), find, sortBy, union, intercalate)
|
||||||
|
#if !MIN_VERSION_base(4,20,0)
|
||||||
|
import Data.List (foldl')
|
||||||
|
#endif
|
||||||
import Data.List.Extra (nubSort)
|
import Data.List.Extra (nubSort)
|
||||||
import qualified Data.Map.Strict as M
|
import qualified Data.Map.Strict as M
|
||||||
import Data.Maybe (catMaybes, fromMaybe, mapMaybe, maybeToList)
|
import Data.Maybe (catMaybes, fromMaybe, mapMaybe, maybeToList)
|
||||||
|
|||||||
@ -1,4 +1,3 @@
|
|||||||
{-# LANGUAGE NamedFieldPuns #-}
|
|
||||||
{-|
|
{-|
|
||||||
|
|
||||||
A 'Posting' represents a change (by some 'MixedAmount') of the balance in
|
A 'Posting' represents a change (by some 'MixedAmount') of the balance in
|
||||||
@ -8,6 +7,8 @@ look up the date or description there.
|
|||||||
|
|
||||||
-}
|
-}
|
||||||
|
|
||||||
|
{-# LANGUAGE CPP #-}
|
||||||
|
{-# LANGUAGE NamedFieldPuns #-}
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
|
||||||
module Hledger.Data.Posting (
|
module Hledger.Data.Posting (
|
||||||
@ -82,7 +83,10 @@ import Data.Foldable (asum)
|
|||||||
import Data.Function ((&))
|
import Data.Function ((&))
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
import Data.Maybe (fromMaybe, isJust, mapMaybe)
|
import Data.Maybe (fromMaybe, isJust, mapMaybe)
|
||||||
import Data.List (foldl', sort, union)
|
import Data.List (sort, union)
|
||||||
|
#if !MIN_VERSION_base(4,20,0)
|
||||||
|
import Data.List (foldl')
|
||||||
|
#endif
|
||||||
import qualified Data.Set as S
|
import qualified Data.Set as S
|
||||||
import Data.Text (Text)
|
import Data.Text (Text)
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
|
|||||||
@ -14,6 +14,7 @@ Most of the code for reading rules files and csv files is in this module.
|
|||||||
-- stack haddock hledger-lib --fast --no-haddock-deps --haddock-arguments='--ignore-all-exports' --open
|
-- stack haddock hledger-lib --fast --no-haddock-deps --haddock-arguments='--ignore-all-exports' --open
|
||||||
|
|
||||||
--- ** language
|
--- ** language
|
||||||
|
{-# LANGUAGE CPP #-}
|
||||||
{-# LANGUAGE FlexibleInstances #-}
|
{-# LANGUAGE FlexibleInstances #-}
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
{-# LANGUAGE RecordWildCards #-}
|
{-# LANGUAGE RecordWildCards #-}
|
||||||
@ -52,7 +53,10 @@ import Control.Monad.Trans.Class (lift)
|
|||||||
import Data.Char (toLower, isDigit, isSpace, isAlphaNum, ord)
|
import Data.Char (toLower, isDigit, isSpace, isAlphaNum, ord)
|
||||||
import Data.Bifunctor (first)
|
import Data.Bifunctor (first)
|
||||||
import Data.Functor ((<&>))
|
import Data.Functor ((<&>))
|
||||||
import Data.List (elemIndex, foldl', mapAccumL, nub, sortOn)
|
import Data.List (elemIndex, mapAccumL, nub, sortOn)
|
||||||
|
#if !MIN_VERSION_base(4,20,0)
|
||||||
|
import Data.List (foldl')
|
||||||
|
#endif
|
||||||
import Data.List.Extra (groupOn)
|
import Data.List.Extra (groupOn)
|
||||||
import Data.Maybe (catMaybes, fromMaybe, isJust)
|
import Data.Maybe (catMaybes, fromMaybe, isJust)
|
||||||
import Data.MemoUgly (memo)
|
import Data.MemoUgly (memo)
|
||||||
@ -1325,9 +1329,7 @@ parseAmount rules record currency s =
|
|||||||
,showRules rules record
|
,showRules rules record
|
||||||
-- ,"the default-currency is: "++fromMaybe "unspecified" (getDirective "default-currency" rules)
|
-- ,"the default-currency is: "++fromMaybe "unspecified" (getDirective "default-currency" rules)
|
||||||
,"the parse error is: " <> T.pack (customErrorBundlePretty e)
|
,"the parse error is: " <> T.pack (customErrorBundlePretty e)
|
||||||
,"you may need to \
|
,"you may need to change your amount*, balance*, or currency* rules, or add or change your skip rule"
|
||||||
\change your amount*, balance*, or currency* rules, \
|
|
||||||
\or add or change your skip rule"
|
|
||||||
]
|
]
|
||||||
|
|
||||||
-- | Show the values assigned to each journal field.
|
-- | Show the values assigned to each journal field.
|
||||||
|
|||||||
@ -3,6 +3,8 @@ Utilities used throughout hledger, or needed low in the module hierarchy.
|
|||||||
These are the bottom of hledger's module graph.
|
These are the bottom of hledger's module graph.
|
||||||
-}
|
-}
|
||||||
|
|
||||||
|
{-# LANGUAGE CPP #-}
|
||||||
|
|
||||||
module Hledger.Utils (
|
module Hledger.Utils (
|
||||||
|
|
||||||
-- * Functions
|
-- * Functions
|
||||||
@ -69,7 +71,10 @@ where
|
|||||||
|
|
||||||
import Data.Char (toLower)
|
import Data.Char (toLower)
|
||||||
import Data.List (intersperse)
|
import Data.List (intersperse)
|
||||||
import Data.List.Extra (chunksOf, foldl', foldl1', uncons, unsnoc)
|
import Data.List.Extra (chunksOf, foldl1', uncons, unsnoc)
|
||||||
|
#if !MIN_VERSION_base(4,20,0)
|
||||||
|
import Data.List (foldl')
|
||||||
|
#endif
|
||||||
import qualified Data.Set as Set
|
import qualified Data.Set as Set
|
||||||
import qualified Data.Text as T (pack, unpack)
|
import qualified Data.Text as T (pack, unpack)
|
||||||
import Data.Tree (foldTree, Tree (Node, subForest))
|
import Data.Tree (foldTree, Tree (Node, subForest))
|
||||||
|
|||||||
@ -1,7 +1,3 @@
|
|||||||
{-# LANGUAGE FlexibleInstances #-}
|
|
||||||
{-# LANGUAGE MultiParamTypeClasses #-}
|
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
|
||||||
{-# LANGUAGE ScopedTypeVariables #-}
|
|
||||||
{-|
|
{-|
|
||||||
|
|
||||||
Easy regular expression helpers, currently based on regex-tdfa. These should:
|
Easy regular expression helpers, currently based on regex-tdfa. These should:
|
||||||
@ -42,6 +38,12 @@ Current limitations:
|
|||||||
|
|
||||||
-}
|
-}
|
||||||
|
|
||||||
|
{-# LANGUAGE CPP #-}
|
||||||
|
{-# LANGUAGE FlexibleInstances #-}
|
||||||
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
||||||
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
|
{-# LANGUAGE ScopedTypeVariables #-}
|
||||||
|
|
||||||
module Hledger.Utils.Regex (
|
module Hledger.Utils.Regex (
|
||||||
-- * Regexp type and constructors
|
-- * Regexp type and constructors
|
||||||
Regexp(reString)
|
Regexp(reString)
|
||||||
@ -66,7 +68,9 @@ import Control.Monad (foldM)
|
|||||||
import Data.Aeson (ToJSON(..), Value(String))
|
import Data.Aeson (ToJSON(..), Value(String))
|
||||||
import Data.Array ((!), elems, indices)
|
import Data.Array ((!), elems, indices)
|
||||||
import Data.Char (isDigit)
|
import Data.Char (isDigit)
|
||||||
|
#if !MIN_VERSION_base(4,20,0)
|
||||||
import Data.List (foldl')
|
import Data.List (foldl')
|
||||||
|
#endif
|
||||||
import Data.MemoUgly (memo)
|
import Data.MemoUgly (memo)
|
||||||
import Data.Text (Text)
|
import Data.Text (Text)
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
|
|||||||
@ -233,6 +233,7 @@ Currently, empty cells show 0.
|
|||||||
|
|
||||||
-}
|
-}
|
||||||
|
|
||||||
|
{-# LANGUAGE CPP #-}
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
{-# LANGUAGE NamedFieldPuns #-}
|
{-# LANGUAGE NamedFieldPuns #-}
|
||||||
{-# LANGUAGE RecordWildCards #-}
|
{-# LANGUAGE RecordWildCards #-}
|
||||||
@ -272,7 +273,10 @@ import Control.Monad (guard)
|
|||||||
import Data.Decimal (roundTo)
|
import Data.Decimal (roundTo)
|
||||||
import Data.Default (def)
|
import Data.Default (def)
|
||||||
import Data.Function (on)
|
import Data.Function (on)
|
||||||
import Data.List (find, transpose, foldl')
|
import Data.List (find, transpose)
|
||||||
|
#if !MIN_VERSION_base(4,20,0)
|
||||||
|
import Data.List (foldl')
|
||||||
|
#endif
|
||||||
import qualified Data.Map as Map
|
import qualified Data.Map as Map
|
||||||
import qualified Data.Set as S
|
import qualified Data.Set as S
|
||||||
import Data.Maybe (mapMaybe, fromMaybe)
|
import Data.Maybe (mapMaybe, fromMaybe)
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
{-# LANGUAGE CPP #-}
|
||||||
{-# LANGUAGE DeriveTraversable #-}
|
{-# LANGUAGE DeriveTraversable #-}
|
||||||
{-# LANGUAGE LambdaCase #-}
|
{-# LANGUAGE LambdaCase #-}
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
@ -11,7 +12,10 @@ module Hledger.Cli.Commands.Rewrite (
|
|||||||
where
|
where
|
||||||
|
|
||||||
import Data.Functor.Identity
|
import Data.Functor.Identity
|
||||||
import Data.List (sortOn, foldl')
|
import Data.List (sortOn)
|
||||||
|
#if !MIN_VERSION_base(4,20,0)
|
||||||
|
import Data.List (foldl')
|
||||||
|
#endif
|
||||||
import Data.Text (Text)
|
import Data.Text (Text)
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import qualified Data.Text.IO as T
|
import qualified Data.Text.IO as T
|
||||||
|
|||||||
@ -1,3 +1,4 @@
|
|||||||
|
{-# LANGUAGE CPP #-}
|
||||||
{-# LANGUAGE OverloadedStrings #-}
|
{-# LANGUAGE OverloadedStrings #-}
|
||||||
{-# LANGUAGE RecordWildCards #-}
|
{-# LANGUAGE RecordWildCards #-}
|
||||||
{-# LANGUAGE LambdaCase #-}
|
{-# LANGUAGE LambdaCase #-}
|
||||||
@ -14,7 +15,9 @@ module Hledger.Cli.CompoundBalanceCommand (
|
|||||||
,compoundBalanceCommand
|
,compoundBalanceCommand
|
||||||
) where
|
) where
|
||||||
|
|
||||||
|
#if !MIN_VERSION_base(4,20,0)
|
||||||
import Data.List (foldl')
|
import Data.List (foldl')
|
||||||
|
#endif
|
||||||
import Data.Maybe (fromMaybe, mapMaybe)
|
import Data.Maybe (fromMaybe, mapMaybe)
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import qualified Data.Text.Lazy as TL
|
import qualified Data.Text.Lazy as TL
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user