Skip to content

Commit b5bb6bf

Browse files
Merge pull request #243 from 23Skidoo/fix-warnings
Fix GHC 7.10/bytestring 0.10.6 warnings.
2 parents d2fd85c + 8ae31ff commit b5bb6bf

File tree

12 files changed

+47
-14
lines changed

12 files changed

+47
-14
lines changed

src/Snap/Internal/Core.hs

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ import Control.Monad.Trans.State (StateT (..))
9898
import Data.ByteString.Builder (Builder, byteString, lazyByteString)
9999
import Data.ByteString.Char8 (ByteString)
100100
import qualified Data.ByteString.Char8 as S (break, concat, drop, dropWhile, intercalate, length, take, takeWhile)
101-
import qualified Data.ByteString.Internal as S (create, inlinePerformIO)
101+
import qualified Data.ByteString.Internal as S (create)
102102
import qualified Data.ByteString.Lazy.Char8 as L (ByteString, fromChunks)
103103
import Data.CaseInsensitive (CI)
104104
import Data.Maybe (Maybe (..), listToMaybe, maybe)
@@ -120,6 +120,11 @@ import System.IO.Streams (InputStream, OutputStream)
120120
import qualified System.IO.Streams as Streams
121121
import System.Posix.Types (FileOffset)
122122
import System.PosixCompat.Files (fileSize, getFileStatus)
123+
#if !MIN_VERSION_bytestring(0,10,6)
124+
import qualified Data.ByteString.Internal as S (create)
125+
#else
126+
import qualified Data.ByteString.Internal as S (accursedUnutterablePerformIO)
127+
#endif
123128
------------------------------------------------------------------------------
124129
import qualified Data.Readable as R
125130
import Snap.Internal.Http.Types (Cookie (..), HasHeaders (..), HttpVersion, Method (..), Params, Request (..), Response (..), ResponseBody (..), StreamProc, addHeader, addResponseCookie, clearContentLength, deleteHeader, deleteResponseCookie, emptyResponse, formatHttpTime, formatLogTime, getHeader, getResponseCookie, getResponseCookies, listHeaders, modifyResponseBody, modifyResponseCookie, normalizeMethod, parseHttpTime, rqModifyParams, rqParam, rqPostParam, rqQueryParam, rqSetParam, rspBodyMap, rspBodyToEnum, setContentLength, setContentType, setHeader, setResponseBody, setResponseCode, setResponseStatus, statusReasonMap)
@@ -1734,7 +1739,11 @@ countDigits v0 = go 1 v0
17341739
{-# INLINE word64ToByteString #-}
17351740
word64ToByteString :: Word64 -> ByteString
17361741
word64ToByteString d =
1742+
#if !MIN_VERSION_bytestring(0,10,6)
17371743
S.inlinePerformIO $
1744+
#else
1745+
S.accursedUnutterablePerformIO $
1746+
#endif
17381747
if d < 10
17391748
then S.create 1 $ \p -> poke p (i2w d)
17401749
else let !n = countDigits d

src/Snap/Internal/Instances.hs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,10 @@ import qualified Control.Monad.Trans.State.Lazy as LState (StateT)
2222
import Control.Monad.Trans.State.Strict (StateT)
2323
import qualified Control.Monad.Trans.Writer.Lazy as LWriter (WriterT)
2424
import Control.Monad.Trans.Writer.Strict (WriterT)
25-
import Data.Monoid (Monoid)
2625
import Snap.Internal.Core (MonadSnap (..))
26+
#if !MIN_VERSION_base(4,8,0)
27+
import Data.Monoid (Monoid)
28+
#endif
2729
------------------------------------------------------------------------------
2830

2931

src/Snap/Internal/Parsing.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,7 @@ urlEncodeBuilder = go mempty
383383
urlEncodeClean :: Char -> Bool
384384
urlEncodeClean = toTable f
385385
where
386-
f c = any ($ c) [\c -> isAscii c && isAlphaNum c
386+
f c = any ($ c) [\c' -> isAscii c' && isAlphaNum c'
387387
, flip elem [ '$', '_', '-', '.', '!'
388388
, '*' , '\'', '(', ')', ',' ]]
389389

src/Snap/Internal/Routing.hs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{-# LANGUAGE BangPatterns #-}
2+
{-# LANGUAGE CPP #-}
23
{-# LANGUAGE FlexibleContexts #-}
34
{-# LANGUAGE Rank2Types #-}
45
module Snap.Internal.Routing
@@ -18,10 +19,12 @@ import Data.ByteString.Internal (c2w)
1819
import Data.HashMap.Strict (HashMap)
1920
import qualified Data.HashMap.Strict as H (elems, empty, fromList, lookup, unionWith)
2021
import qualified Data.Map as Map (empty, insertWith, unionWith)
21-
import Data.Monoid (Monoid (..))
2222
import Snap.Internal.Core (MonadSnap, getRequest, getsRequest, localRequest, modifyRequest, pass, updateContextPath)
2323
import Snap.Internal.Http.Types (Params, Request (rqContextPath, rqParams, rqPathInfo))
2424
import Snap.Internal.Parsing (urlDecode)
25+
#if !MIN_VERSION_base(4,8,0)
26+
import Data.Monoid (Monoid (..))
27+
#endif
2528
------------------------------------------------------------------------------
2629

2730
------------------------------------------------------------------------------

src/Snap/Internal/Test/Assertions.hs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{-# LANGUAGE OverloadedStrings #-}
1+
{-# LANGUAGE CPP, OverloadedStrings #-}
22
module Snap.Internal.Test.Assertions where
33

44
------------------------------------------------------------------------------
@@ -8,11 +8,13 @@ import Data.ByteString.Char8 (ByteString)
88
import qualified Data.ByteString.Char8 as S
99
import qualified Data.ByteString.Lazy.Char8 as L
1010
import Data.Maybe (fromJust)
11-
import Data.Monoid (mconcat)
1211
import Snap.Internal.Http.Types (Response (rspBody, rspStatus), getHeader, rspBodyToEnum)
1312
import qualified System.IO.Streams as Streams
1413
import Test.HUnit (Assertion, assertBool, assertEqual)
1514
import Text.Regex.Posix ((=~))
15+
#if !MIN_VERSION_base(4,8,0)
16+
import Data.Monoid (mconcat)
17+
#endif
1618
------------------------------------------------------------------------------
1719

1820
------------------------------------------------------------------------------

src/Snap/Internal/Test/RequestBuilder.hs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,6 @@ module Snap.Internal.Test.RequestBuilder
3939
) where
4040

4141
------------------------------------------------------------------------------
42-
import Control.Applicative (Applicative)
4342
import Control.Monad (liftM, replicateM, void)
4443
import Control.Monad.State.Strict (MonadIO (..), MonadState, MonadTrans, StateT, execStateT, modify)
4544
import qualified Control.Monad.State.Strict as State
@@ -51,7 +50,6 @@ import qualified Data.ByteString.Char8 as S
5150
import qualified Data.ByteString.Lazy.Char8 as L
5251
import Data.CaseInsensitive (CI, original)
5352
import qualified Data.Map as Map
54-
import Data.Monoid (Monoid (mappend, mconcat, mempty))
5553
import qualified Data.Vector as V
5654
import Data.Word (Word8)
5755
import Snap.Core (Cookie (Cookie), Method (DELETE, GET, HEAD, POST, PUT), MonadSnap, Params, Request (rqContentLength, rqContextPath, rqCookies, rqHeaders, rqHostName, rqIsSecure, rqMethod, rqParams, rqPathInfo, rqPostParams, rqQueryParams, rqQueryString, rqURI, rqVersion), Response, Snap, deleteHeader, formatHttpTime, getHeader, parseUrlEncoded, printUrlEncoded, runSnap)
@@ -63,6 +61,10 @@ import qualified System.IO.Streams as Streams
6361
import System.PosixCompat.Time (epochTime)
6462
import System.Random (Random (randomIO))
6563
import Text.Printf (printf)
64+
#if !MIN_VERSION_base(4,8,0)
65+
import Control.Applicative (Applicative)
66+
import Data.Monoid (Monoid (mappend, mconcat, mempty))
67+
#endif
6668
------------------------------------------------------------------------------
6769

6870

src/Snap/Util/Proxy.hs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE OverloadedStrings #-}
23

34
-- | This module provides facilities for patching incoming 'Requests' to
@@ -20,12 +21,15 @@ module Snap.Util.Proxy
2021
) where
2122

2223
------------------------------------------------------------------------------
23-
import Control.Applicative (Alternative ((<|>)), (<$>))
24+
import Control.Applicative (Alternative ((<|>)))
2425
import Control.Arrow (second)
2526
import qualified Data.ByteString.Char8 as S (break, breakEnd, drop, dropWhile, readInt, spanEnd)
2627
import Data.Char (isSpace)
2728
import Data.Maybe (fromJust)
2829
import Snap.Core (MonadSnap, Request (rqClientAddr, rqClientPort), getHeader, modifyRequest)
30+
#if !MIN_VERSION_base(4,8,0)
31+
import Control.Applicative ((<$>))
32+
#endif
2933
------------------------------------------------------------------------------
3034

3135

test/Snap/Core/Tests.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ import Data.Monoid (mappend)
4747
import Data.Text (Text)
4848
import qualified Data.Text.Encoding as T (encodeUtf8)
4949
import Data.Text.Lazy ()
50-
import Prelude (Bool (..), Either (..), Enum (..), Eq (..), IO, Int, Maybe (Just, Nothing), Num (..), Ord (..), Show (..), String, const, either, flip, id, map, maybe, not, seq, undefined, ($), ($!), (&&), (++), (.))
50+
import Prelude (Bool (..), Either (..), Enum (..), Eq (..), IO, Int, Maybe (Just, Nothing), Num (..), Show (..), String, const, either, flip, id, map, maybe, not, seq, undefined, ($), ($!), (&&), (++), (.))
5151
import Snap.Internal.Core (EscapeSnap (..), MonadSnap (..), NoHandlerException (NoHandlerException), Snap, addToOutput, bracketSnap, catchFinishWith, dir, escapeHttp, evalSnap, finishWith, getParam, getParams, getPostParam, getPostParams, getQueryParam, getQueryParams, getRequest, getResponse, getsResponse, ifTop, ipHeaderFilter, localRequest, logError, method, methods, modifyResponse, pass, path, pathArg, putRequest, putResponse, readRequestBody, redirect, redirect', runRequestBody, runSnap, setTimeout, terminateConnection, transformRequestBody, updateContextPath, withRequest, withResponse, writeBS, writeLBS, writeLazyText, writeText)
5252
import Snap.Internal.Http.Types (Cookie (Cookie), Method (..), Request (rqBody, rqClientAddr, rqContextPath, rqIsSecure, rqURI), Response (rspContentLength, rspStatus, rspStatusReason, rspTransformingRqBody), addHeader, deleteHeader, emptyResponse, getHeader, rqRemoteAddr, setContentLength, setHeader, setResponseCode, setResponseStatus, statusReasonMap)
5353
import Snap.Internal.Parsing (urlDecode, urlEncode)

test/Snap/Internal/Routing/Tests.hs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE OverloadedStrings #-}
23
{-# LANGUAGE ScopedTypeVariables #-}
34

45
module Snap.Internal.Routing.Tests
56
( tests ) where
67

78
------------------------------------------------------------------------------
8-
import Control.Applicative ((<$>), (<|>))
9+
import Control.Applicative ((<|>))
910
import Control.Exception (ErrorCall (..), throwIO)
1011
import Control.Monad (liftM, unless)
1112
import Control.Monad.Trans (liftIO)
@@ -21,6 +22,9 @@ import Snap.Test.Common (expectExceptionH)
2122
import Test.Framework (Test)
2223
import Test.Framework.Providers.HUnit (testCase)
2324
import Test.HUnit (assertEqual)
25+
#if !MIN_VERSION_base(4,8,0)
26+
import Control.Applicative ((<$>))
27+
#endif
2428
------------------------------------------------------------------------------
2529

2630

test/Snap/Test/Tests.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ import qualified Snap.Internal.Http.Types as T
2424
import Snap.Internal.Test.RequestBuilder (FileData (FileData), MultipartParam (Files, FormData), RequestBuilder, RequestType (DeleteRequest, GetRequest, MultipartPostRequest, RequestWithRawBody, UrlEncodedPostRequest), addCookies, addHeader, buildRequest, delete, evalHandler, get, postMultipart, postRaw, postUrlEncoded, put, requestToString, responseToString, runHandler, setContentType, setHeader, setHttpVersion, setQueryStringRaw, setRequestPath, setRequestType, setSecure)
2525
import Snap.Test (assert404, assertBodyContains, assertRedirect, assertRedirectTo, assertSuccess, getResponseBody)
2626
import Snap.Test.Common (coverShowInstance, expectExceptionH)
27-
import Snap.Util.FileUploads (PartInfo, defaultUploadPolicy, handleMultipart, partContentType, partFieldName, partFileName)
27+
import Snap.Util.FileUploads (defaultUploadPolicy, handleMultipart, partContentType, partFieldName, partFileName)
2828
import qualified System.IO.Streams as Streams
2929
import Test.Framework (Test)
3030
import Test.Framework.Providers.HUnit (testCase)

0 commit comments

Comments
 (0)