on master help sign in
Clear warnings

- Use `Prelude.Compat` "more" - by depending on `base-compat-batteries`

commiteb60a3845264a01ec841ff41a4eae3460476c23f authorColin Woodbury <colin@fosskers.ca> dateTue 17 Mar 2020, 11:11 (7 years ago) parent9e30cc9
11 files changed+10−29
Data/Aeson.hs+1−1 Data/Aeson/Encoding/Builder.hs−1 Data/Aeson/Encoding/Internal.hs−1 Data/Aeson/Parser/Internal.hs−1 Data/Aeson/TH.hs+4−1 Data/Aeson/Text.hs−1 Data/Aeson/Types/FromJSON.hs−1 Data/Aeson/Types/Internal.hs−1 Data/Aeson/Types/ToJSON.hs−1 aeson.cabal+2−2 attoparsec-iso8601/Data/Attoparsec/Time/Internal.hs+3−18
Data/Aeson.hs+1−1
@@ -149,7 +149,7 @@ import Data.Aeson.Types.FromJSON (ifromJSON, parseIndexedJSON)
149149import Data.Aeson.Encoding (encodingToLazyByteString)
150150import Data.Aeson.Parser.Internal (decodeWith, decodeStrictWith, eitherDecodeWith, eitherDecodeStrictWith, jsonEOF, json, jsonEOF', json')
151151import Data.Aeson.Types
152−import Data.Aeson.Types.Internal (JSONPath, formatError, (<?>))
152+import Data.Aeson.Types.Internal (formatError)
153153import qualified Data.ByteString as B
154154import qualified Data.ByteString.Lazy as L
155155
Data/Aeson/Encoding/Builder.hs−1
@@ -44,7 +44,6 @@ import Data.ByteString.Builder as B
4444import Data.ByteString.Builder.Prim as BP
4545import Data.ByteString.Builder.Scientific (scientificBuilder)
4646import Data.Char (chr, ord)
47−import Data.Semigroup ((<>))
4847import Data.Scientific (Scientific, base10Exponent, coefficient)
4948import Data.Text.Encoding (encodeUtf8BuilderEscaped)
5049import Data.Time (UTCTime(..))
Data/Aeson/Encoding/Internal.hs−1
@@ -63,7 +63,6 @@ import Data.Aeson.Types.Internal (Value)
6363import Data.ByteString.Builder (Builder, char7, toLazyByteString)
6464import Data.Int
6565import Data.Scientific (Scientific)
66−import Data.Semigroup (Semigroup ((<>)))
6766import Data.Text (Text)
6867import Data.Time (Day, LocalTime, TimeOfDay, UTCTime, ZonedTime)
6968import Data.Typeable (Typeable)
Data/Aeson/Parser/Internal.hs−1
@@ -59,7 +59,6 @@ import Data.Attoparsec.ByteString.Char8 (Parser, char, decimal, endOfInput, isDi
5959import Data.Function (fix)
6060import Data.Functor.Compat (($>))
6161import Data.Scientific (Scientific)
62−import Data.Semigroup ((<>))
6362import Data.Text (Text)
6463import Data.Vector (Vector)
6564import qualified Data.Vector as Vector (empty, fromList, fromListN, reverse)
Data/Aeson/TH.hs+4−1
@@ -116,7 +116,10 @@ module Data.Aeson.TH
116116 , mkLiftParseJSON2
117117 ) where
118118
119−import Prelude.Compat
119+import Prelude.Compat hiding (fail)
120+
121+-- We don't have MonadFail Q, so we should use `fail` from real `Prelude`
122+import Prelude (fail)
120123
121124import Control.Applicative ((<|>))
122125import Data.Aeson (Object, (.:), FromJSON(..), FromJSON1(..), FromJSON2(..), ToJSON(..), ToJSON1(..), ToJSON2(..))
Data/Aeson/Text.hs−1
@@ -26,7 +26,6 @@ import Prelude.Compat
2626
2727import Data.Aeson.Types (Value(..), ToJSON(..))
2828import Data.Aeson.Encoding (encodingToLazyByteString)
29−import Data.Semigroup ((<>))
3029import Data.Scientific (FPFormat(..), Scientific, base10Exponent)
3130import Data.Text.Lazy.Builder
3231import Data.Text.Lazy.Builder.Scientific (formatScientificBuilder)
Data/Aeson/Types/FromJSON.hs−1
@@ -96,7 +96,6 @@ import Data.Hashable (Hashable(..))
9696import Data.Int (Int16, Int32, Int64, Int8)
9797import Data.List.NonEmpty (NonEmpty(..))
9898import Data.Maybe (fromMaybe)
99−import Data.Semigroup ((<>))
10099import Data.Proxy (Proxy(..))
101100import Data.Ratio ((%), Ratio)
102101import Data.Scientific (Scientific, base10Exponent)
Data/Aeson/Types/Internal.hs−1
@@ -95,7 +95,6 @@ import Data.HashMap.Strict (HashMap)
9595import Data.Hashable (Hashable(..))
9696import Data.List (intercalate)
9797import Data.Scientific (Scientific)
98−import Data.Semigroup (Semigroup((<>)))
9998import Data.String (IsString(..))
10099import Data.Text (Text, pack, unpack)
101100import Data.Time (UTCTime)
Data/Aeson/Types/ToJSON.hs−1
@@ -79,7 +79,6 @@ import Data.Functor.Sum (Sum(..))
7979import Data.Int (Int16, Int32, Int64, Int8)
8080import Data.List (intersperse)
8181import Data.List.NonEmpty (NonEmpty(..))
82−import Data.Semigroup ((<>))
8382import Data.Proxy (Proxy(..))
8483import Data.Ratio (Ratio, denominator, numerator)
8584import Data.Scientific (Scientific)
aeson.cabal+2−2
@@ -116,8 +116,8 @@ library
116116
117117 -- Compat
118118 build-depends:
119− base-compat >= 0.9.1 && < 0.12,
120− time-compat >= 1.9.2.2 && < 1.10
119+ base-compat-batteries >= 0.10.0 && < 0.12,
120+ time-compat >= 1.9.2.2 && < 1.10
121121
122122 if !impl(ghc >= 8.6)
123123 build-depends:
attoparsec-iso8601/Data/Attoparsec/Time/Internal.hs+3−18
@@ -1,4 +1,3 @@
1−{-# LANGUAGE CPP #-}
21{-# LANGUAGE NoImplicitPrelude #-}
32-- |
43-- Module: Data.Aeson.Internal.Time
@@ -19,24 +18,10 @@ module Data.Attoparsec.Time.Internal
1918
2019import Prelude.Compat
2120
21+import Data.Fixed (Fixed(MkFixed), Pico)
2222import Data.Int (Int64)
23−import Data.Time
24−import Unsafe.Coerce (unsafeCoerce)
25−
26−#if MIN_VERSION_time(1,6,0)
27−
28−import Data.Time.Clock (diffTimeToPicoseconds)
29−
30−#endif
31−
32−import Data.Fixed (Pico, Fixed(MkFixed))
33−
34−#if !MIN_VERSION_time(1,6,0)
35−
36−diffTimeToPicoseconds :: DiffTime -> Integer
37−diffTimeToPicoseconds = unsafeCoerce
38−
39−#endif
23+import Data.Time (TimeOfDay(..))
24+import Data.Time.Clock.Compat
4025
4126toPico :: Integer -> Pico
4227toPico = MkFixed