git.iko.soy/typeable/servant
on master help sign in
Merge pull request #235 from haskell-servant/jkarni/0.4-fixes
4e28a45Julian Arni
scripts/test-all.sh+2−1
@@ -17,7 +17,8 @@ set -o errexit
17DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
17DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
18. "$DIR"/lib/common.sh
18. "$DIR"/lib/common.sh
19
19
20+# TODO: Remove missing-methods after https://github.com/bos/aeson/issues/290
20−GHC_FLAGS="-Werror"
21+GHC_FLAGS="-Werror -fno-warn-missing-methods"
21
22
22prepare_sandbox () {
23prepare_sandbox () {
23 $CABAL sandbox init
24 $CABAL sandbox init
servant-docs/src/Servant/Docs/Internal.hs+7−5
@@ -22,18 +22,20 @@ module Servant.Docs.Internal where
22#if !MIN_VERSION_base(4,8,0)
22#if !MIN_VERSION_base(4,8,0)
23import Control.Applicative
23import Control.Applicative
24#endif
24#endif
25−import Control.Lens
25+import Control.Lens (makeLenses, over, traversed, (%~),
26+ (&), (.~), (<>~), (^.), _1, _2,
27+ _last, (|>))
28+import Data.ByteString.Conversion (ToByteString, toByteString)
26import Data.ByteString.Lazy.Char8 (ByteString)
29import Data.ByteString.Lazy.Char8 (ByteString)
27import qualified Data.CaseInsensitive as CI
30import qualified Data.CaseInsensitive as CI
28−import Data.Hashable
31+import Data.Hashable (Hashable)
29import Data.HashMap.Strict (HashMap)
32import Data.HashMap.Strict (HashMap)
30import Data.List
33import Data.List
31import Data.Maybe
34import Data.Maybe
32import Data.Monoid
35import Data.Monoid
33import Data.Ord (comparing)
36import Data.Ord (comparing)
34−import Data.Proxy
37+import Data.Proxy (Proxy(Proxy))
35−import Data.ByteString.Conversion (ToByteString, toByteString)
36−import Data.String.Conversions
38+import Data.String.Conversions (cs)
37import Data.Text (Text, pack, unpack)
39import Data.Text (Text, pack, unpack)
38import GHC.Exts (Constraint)
40import GHC.Exts (Constraint)
39import GHC.Generics
41import GHC.Generics
servant-examples/auth-combinator/auth-combinator.hs+1
@@ -5,6 +5,7 @@
5{-# LANGUAGE FlexibleInstances #-}
5{-# LANGUAGE FlexibleInstances #-}
6{-# LANGUAGE OverloadedStrings #-}
6{-# LANGUAGE OverloadedStrings #-}
7{-# LANGUAGE ScopedTypeVariables #-}
7{-# LANGUAGE ScopedTypeVariables #-}
8+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
8import Data.Aeson
9import Data.Aeson
9import Data.ByteString (ByteString)
10import Data.ByteString (ByteString)
10import Data.Text (Text)
11import Data.Text (Text)
servant-examples/hackage/hackage.hs+2
@@ -2,6 +2,8 @@
2{-# LANGUAGE DeriveGeneric #-}
2{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE TypeOperators #-}
3{-# LANGUAGE TypeOperators #-}
4{-# LANGUAGE OverloadedStrings #-}
4{-# LANGUAGE OverloadedStrings #-}
5+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
6+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
5import Control.Applicative
7import Control.Applicative
6import Control.Monad
8import Control.Monad
7import Control.Monad.IO.Class
9import Control.Monad.IO.Class
servant-examples/servant-examples.cabal+1
@@ -45,6 +45,7 @@ executable tutorial
45
45
46executable t8-main
46executable t8-main
47 main-is: t8-main.hs
47 main-is: t8-main.hs
48+ other-modules: T3, T8
48 hs-source-dirs: tutorial
49 hs-source-dirs: tutorial
49 default-language: Haskell2010
50 default-language: Haskell2010
50 build-depends:
51 build-depends:
servant-examples/tutorial/T1.hs+1−6
@@ -17,17 +17,12 @@ data User = User
17 , registration_date :: Day
17 , registration_date :: Day
18 } deriving (Eq, Show, Generic)
18 } deriving (Eq, Show, Generic)
19
19
20−-- orphan ToJSON instance for Day. necessary to derive one for User
21−instance ToJSON Day where
22− -- display a day in YYYY-mm-dd format
23− toJSON d = toJSON (showGregorian d)
24−
25instance ToJSON User
20instance ToJSON User
26
21
27type UserAPI = "users" :> Get '[JSON] [User]
22type UserAPI = "users" :> Get '[JSON] [User]
28
23
29users :: [User]
24users :: [User]
30−users =
25+users =
31 [ User "Isaac Newton" 372 "isaac@newton.co.uk" (fromGregorian 1683 3 1)
26 [ User "Isaac Newton" 372 "isaac@newton.co.uk" (fromGregorian 1683 3 1)
32 , User "Albert Einstein" 136 "ae@mc2.org" (fromGregorian 1905 12 1)
27 , User "Albert Einstein" 136 "ae@mc2.org" (fromGregorian 1905 12 1)
33 ]
28 ]
servant-examples/tutorial/T10.hs+1
@@ -4,6 +4,7 @@
4{-# LANGUAGE FlexibleInstances #-}
4{-# LANGUAGE FlexibleInstances #-}
5{-# LANGUAGE OverloadedStrings #-}
5{-# LANGUAGE OverloadedStrings #-}
6{-# LANGUAGE MultiParamTypeClasses #-}
6{-# LANGUAGE MultiParamTypeClasses #-}
7+{-# OPTIONS_GHC -fno-warn-orphans #-}
7module T10 where
8module T10 where
8
9
9import Data.ByteString.Lazy (ByteString)
10import Data.ByteString.Lazy (ByteString)
servant-examples/tutorial/T3.hs+1−1
@@ -70,7 +70,7 @@ server = position
70 :<|> marketing
70 :<|> marketing
71
71
72 where position :: Int -> Int -> EitherT ServantErr IO Position
72 where position :: Int -> Int -> EitherT ServantErr IO Position
73− position x y = return (Position x y)
73+ position a b = return (Position a b)
74
74
75 hello :: Maybe String -> EitherT ServantErr IO HelloMessage
75 hello :: Maybe String -> EitherT ServantErr IO HelloMessage
76 hello mname = return . HelloMessage $ case mname of
76 hello mname = return . HelloMessage $ case mname of
servant-examples/tutorial/T4.hs+3−2
@@ -4,6 +4,7 @@
4{-# LANGUAGE TypeOperators #-}
4{-# LANGUAGE TypeOperators #-}
5{-# LANGUAGE FlexibleInstances #-}
5{-# LANGUAGE FlexibleInstances #-}
6{-# LANGUAGE OverloadedStrings #-}
6{-# LANGUAGE OverloadedStrings #-}
7+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
7module T4 where
8module T4 where
8
9
9import Data.Aeson
10import Data.Aeson
@@ -35,13 +36,13 @@ instance ToHtml Person where
35
36
36-- HTML serialization of a list of persons
37-- HTML serialization of a list of persons
37instance ToHtml [Person] where
38instance ToHtml [Person] where
38− toHtml persons = table_ $ do
39+ toHtml ps = table_ $ do
39 tr_ $ do
40 tr_ $ do
40 th_ "first name"
41 th_ "first name"
41 th_ "last name"
42 th_ "last name"
42 th_ "age"
43 th_ "age"
43
44
44− foldMap toHtml persons
45+ foldMap toHtml ps
45
46
46 toHtmlRaw = toHtml
47 toHtmlRaw = toHtml
47
48
servant-examples/tutorial/T8.hs+1−1
@@ -1,10 +1,10 @@
1{-# LANGUAGE DataKinds #-}
1{-# LANGUAGE DataKinds #-}
2{-# LANGUAGE TypeFamilies #-}
2{-# LANGUAGE TypeFamilies #-}
3{-# LANGUAGE TypeOperators #-}
3{-# LANGUAGE TypeOperators #-}
4+{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
4module T8 where
5module T8 where
5
6
6import Control.Monad.Trans.Either
7import Control.Monad.Trans.Either
7−import Data.Aeson
8import Servant
8import Servant
9import Servant.Client
9import Servant.Client
10
10
servant-examples/tutorial/T9.hs+1
@@ -3,6 +3,7 @@
3{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE DeriveGeneric #-}
4{-# LANGUAGE TypeOperators #-}
4{-# LANGUAGE TypeOperators #-}
5{-# LANGUAGE OverloadedStrings #-}
5{-# LANGUAGE OverloadedStrings #-}
6+{-# OPTIONS_GHC -fno-warn-unused-imports #-}
6module T9 where
7module T9 where
7
8
8import Control.Applicative
9import Control.Applicative
servant-examples/wai-middleware/wai-middleware.hs+1
@@ -1,6 +1,7 @@
1{-# LANGUAGE DataKinds #-}
1{-# LANGUAGE DataKinds #-}
2{-# LANGUAGE DeriveGeneric #-}
2{-# LANGUAGE DeriveGeneric #-}
3{-# LANGUAGE OverloadedStrings #-}
3{-# LANGUAGE OverloadedStrings #-}
4+{-# OPTIONS_GHC -fno-warn-unused-binds #-}
4import Data.Aeson
5import Data.Aeson
5import Data.Text
6import Data.Text
6import GHC.Generics
7import GHC.Generics
servant-jquery/src/Servant/JQuery/Internal.hs+12−11
@@ -11,19 +11,20 @@
11module Servant.JQuery.Internal where
11module Servant.JQuery.Internal where
12
12
13#if !MIN_VERSION_base(4,8,0)
13#if !MIN_VERSION_base(4,8,0)
14−import Control.Applicative
14+import Control.Applicative
15#endif
15#endif
16−import Control.Lens
16+import Control.Lens (makeLenses, (%~), (&), (.~)
17+ , (<>~), (^.), _last)
17−import Data.Char (toLower)
18+import Data.Char (toLower)
18−import qualified Data.CharSet as Set
19+import qualified Data.CharSet as Set
19import qualified Data.CharSet.Unicode.Category as Set
20import qualified Data.CharSet.Unicode.Category as Set
20−import Data.List
21+import Data.List
21−import Data.Monoid
22+import Data.Monoid
22−import Data.Proxy
23+import Data.Proxy
23−import qualified Data.Text as T
24+import qualified Data.Text as T
24−import GHC.Exts (Constraint)
25+import GHC.Exts (Constraint)
25−import GHC.TypeLits
26+import GHC.TypeLits
26−import Servant.API
27+import Servant.API
27
28
28type Arg = String
29type Arg = String
29
30
servant-mock/src/Servant/Mock.hs+2−1
@@ -5,6 +5,7 @@
5{-# LANGUAGE ScopedTypeVariables #-}
5{-# LANGUAGE ScopedTypeVariables #-}
6{-# LANGUAGE TypeFamilies #-}
6{-# LANGUAGE TypeFamilies #-}
7{-# LANGUAGE TypeOperators #-}
7{-# LANGUAGE TypeOperators #-}
8+{-# OPTIONS_GHC -fno-warn-orphans #-}
8-- |
9-- |
9-- Module : Servant.Mock
10-- Module : Servant.Mock
10-- Copyright : 2015 Alp Mestanogullari
11-- Copyright : 2015 Alp Mestanogullari
@@ -153,7 +154,7 @@ instance (Arbitrary a, AllCTRender ctypes a) => HasMock (Put ctypes a) where
153 mock _ = mockArbitrary
154 mock _ = mockArbitrary
154
155
155instance HasMock Raw where
156instance HasMock Raw where
156− mock _ = \req respond -> do
157+ mock _ = \_ respond -> do
157 bdy <- genBody
158 bdy <- genBody
158 respond $ responseLBS status200 [] bdy
159 respond $ responseLBS status200 [] bdy
159
160
servant/test/Servant/API/ContentTypesSpec.hs+1
@@ -4,6 +4,7 @@
4{-# LANGUAGE MultiParamTypeClasses #-}
4{-# LANGUAGE MultiParamTypeClasses #-}
5{-# LANGUAGE OverloadedStrings #-}
5{-# LANGUAGE OverloadedStrings #-}
6{-# OPTIONS_GHC -fno-warn-orphans #-}
6{-# OPTIONS_GHC -fno-warn-orphans #-}
7+
7module Servant.API.ContentTypesSpec where
8module Servant.API.ContentTypesSpec where
8
9
9#if !MIN_VERSION_base(4,8,0)
10#if !MIN_VERSION_base(4,8,0)
stack.yaml+1
@@ -11,4 +11,5 @@ packages:
11extra-deps:
11extra-deps:
12- engine-io-wai-1.0.2
12- engine-io-wai-1.0.2
13- attoparsec-0.13.0.1
13- attoparsec-0.13.0.1
14+- aeson-0.10.0.0
14resolver: nightly-2015-07-24
15resolver: nightly-2015-07-24