git.iko.soy/typeable/servant
on master help sign in
Merge pull request #473 from phadej/travis-ghc-8.0
e3c5a78Julian Arni
.travis.yml+7−4
@@ -3,8 +3,9 @@ sudo: false
3language: c
3language: c
4
4
5env:
5env:
6− - GHCVER=7.8.4
6+ - GHCVER=7.8.4 CABALVER=1.22
7− - GHCVER=7.10.2
7+ - GHCVER=7.10.3 CABALVER=1.22
8+ - GHCVER=8.0.1 CABALVER=1.24
8
9
9addons:
10addons:
10 apt:
11 apt:
@@ -12,13 +13,15 @@ addons:
12 - hvr-ghc
13 - hvr-ghc
13 packages:
14 packages:
14 - ghc-7.8.4
15 - ghc-7.8.4
15− - ghc-7.10.2
16+ - ghc-7.10.3
17+ - ghc-8.0.1
16 - cabal-install-1.22
18 - cabal-install-1.22
19+ - cabal-install-1.24
17 - libgmp-dev
20 - libgmp-dev
18
21
19install:
22install:
20 - (mkdir -p $HOME/.local/bin && cd $HOME/.local/bin && wget https://zalora-public.s3.amazonaws.com/tinc && chmod +x tinc)
23 - (mkdir -p $HOME/.local/bin && cd $HOME/.local/bin && wget https://zalora-public.s3.amazonaws.com/tinc && chmod +x tinc)
21− - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/1.22/bin:$PATH
24+ - export PATH=/opt/ghc/$GHCVER/bin:/opt/cabal/$CABALVER/bin:$PATH
22 - ghc --version
25 - ghc --version
23 - cabal --version
26 - cabal --version
24 - travis_retry cabal update
27 - travis_retry cabal update
servant-client/servant-client.cabal+2
@@ -56,6 +56,8 @@ library
56 hs-source-dirs: src
56 hs-source-dirs: src
57 default-language: Haskell2010
57 default-language: Haskell2010
58 ghc-options: -Wall
58 ghc-options: -Wall
59+ if impl(ghc >= 8.0)
60+ ghc-options: -Wno-redundant-constraints
59 include-dirs: include
61 include-dirs: include
60
62
61test-suite spec
63test-suite spec
servant-client/test/Servant/ClientSpec.hs+4
@@ -15,7 +15,11 @@
15{-# LANGUAGE TypeFamilies #-}
15{-# LANGUAGE TypeFamilies #-}
16{-# LANGUAGE TypeOperators #-}
16{-# LANGUAGE TypeOperators #-}
17{-# LANGUAGE UndecidableInstances #-}
17{-# LANGUAGE UndecidableInstances #-}
18+#if __GLASGOW_HASKELL__ >= 800
19+{-# OPTIONS_GHC -freduction-depth=100 #-}
20+#else
18{-# OPTIONS_GHC -fcontext-stack=100 #-}
21{-# OPTIONS_GHC -fcontext-stack=100 #-}
22+#endif
19{-# OPTIONS_GHC -fno-warn-orphans #-}
23{-# OPTIONS_GHC -fno-warn-orphans #-}
20{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
24{-# OPTIONS_GHC -fno-warn-name-shadowing #-}
21
25
servant-docs/servant-docs.cabal+2
@@ -50,6 +50,8 @@ library
50 hs-source-dirs: src
50 hs-source-dirs: src
51 default-language: Haskell2010
51 default-language: Haskell2010
52 ghc-options: -Wall
52 ghc-options: -Wall
53+ if impl(ghc >= 8.0)
54+ ghc-options: -Wno-redundant-constraints
53 include-dirs: include
55 include-dirs: include
54
56
55executable greet-docs
57executable greet-docs
servant-foreign/servant-foreign.cabal+2
@@ -37,6 +37,8 @@ library
37 hs-source-dirs: src
37 hs-source-dirs: src
38 default-language: Haskell2010
38 default-language: Haskell2010
39 ghc-options: -Wall
39 ghc-options: -Wall
40+ if impl(ghc >= 8.0)
41+ ghc-options: -Wno-redundant-constraints
40 include-dirs: include
42 include-dirs: include
41 default-extensions: CPP
43 default-extensions: CPP
42 , ConstraintKinds
44 , ConstraintKinds
servant-mock/servant-mock.cabal+1−1
@@ -29,7 +29,7 @@ library
29 http-types >= 0.8 && <0.10,
29 http-types >= 0.8 && <0.10,
30 servant == 0.7.*,
30 servant == 0.7.*,
31 servant-server == 0.7.*,
31 servant-server == 0.7.*,
32− transformers >= 0.3 && <0.5,
32+ transformers >= 0.3 && <0.6,
33 QuickCheck >= 2.7 && <2.9,
33 QuickCheck >= 2.7 && <2.9,
34 wai >= 3.0 && <3.3
34 wai >= 3.0 && <3.3
35 hs-source-dirs: src
35 hs-source-dirs: src
servant-server/servant-server.cabal+6−2
@@ -74,6 +74,8 @@ library
74 hs-source-dirs: src
74 hs-source-dirs: src
75 default-language: Haskell2010
75 default-language: Haskell2010
76 ghc-options: -Wall
76 ghc-options: -Wall
77+ if impl(ghc >= 8.0)
78+ ghc-options: -Wno-redundant-constraints
77 include-dirs: include
79 include-dirs: include
78
80
79executable greet
81executable greet
@@ -99,9 +101,11 @@ test-suite spec
99 other-modules:
101 other-modules:
100 Servant.Server.ErrorSpec
102 Servant.Server.ErrorSpec
101 Servant.Server.Internal.ContextSpec
103 Servant.Server.Internal.ContextSpec
102− Servant.ServerSpec
104+ Servant.Server.RouterSpec
105+ Servant.Server.StreamingSpec
103 Servant.Server.UsingContextSpec
106 Servant.Server.UsingContextSpec
104 Servant.Server.UsingContextSpec.TestCombinators
107 Servant.Server.UsingContextSpec.TestCombinators
108+ Servant.ServerSpec
105 Servant.Utils.StaticFilesSpec
109 Servant.Utils.StaticFilesSpec
106 build-depends:
110 build-depends:
107 base == 4.*
111 base == 4.*
@@ -122,7 +126,7 @@ test-suite spec
122 , servant
126 , servant
123 , servant-server
127 , servant-server
124 , string-conversions
128 , string-conversions
125− , should-not-typecheck == 2.*
129+ , should-not-typecheck == 2.1.*
126 , temporary
130 , temporary
127 , text
131 , text
128 , transformers
132 , transformers
servant-server/src/Servant/Server/Internal/Context.hs+1−1
@@ -59,7 +59,7 @@ instance (Eq a, Eq (Context as)) => Eq (Context (a ': as)) where
59--
59--
60-- >>> getContextEntry (True :. False :. EmptyContext) :: String
60-- >>> getContextEntry (True :. False :. EmptyContext) :: String
61-- ...
61-- ...
62−-- No instance for (HasContextEntry '[] [Char])
62+-- ...No instance for (HasContextEntry '[] [Char])
63-- ...
63-- ...
64class HasContextEntry (context :: [*]) (val :: *) where
64class HasContextEntry (context :: [*]) (val :: *) where
65 getContextEntry :: Context context -> val
65 getContextEntry :: Context context -> val
servant/servant.cabal+3−1
@@ -49,7 +49,7 @@ library
49 Servant.Utils.Links
49 Servant.Utils.Links
50 Servant.Utils.Enter
50 Servant.Utils.Enter
51 build-depends:
51 build-depends:
52− base >= 4.7 && < 4.9
52+ base >= 4.7 && < 4.10
53 , base-compat >= 0.9
53 , base-compat >= 0.9
54 , aeson >= 0.7
54 , aeson >= 0.7
55 , attoparsec >= 0.12
55 , attoparsec >= 0.12
@@ -88,6 +88,8 @@ library
88 , TypeSynonymInstances
88 , TypeSynonymInstances
89 , UndecidableInstances
89 , UndecidableInstances
90 ghc-options: -Wall
90 ghc-options: -Wall
91+ if impl(ghc >= 8.0)
92+ ghc-options: -Wno-redundant-constraints
91 include-dirs: include
93 include-dirs: include
92
94
93test-suite spec
95test-suite spec
servant/src/Servant/Utils/Links.hs+2−8
@@ -72,14 +72,8 @@
72-- >>> let bad_link = Proxy :: Proxy ("hello" :> Delete '[JSON] ())
72-- >>> let bad_link = Proxy :: Proxy ("hello" :> Delete '[JSON] ())
73-- >>> safeLink api bad_link
73-- >>> safeLink api bad_link
74-- ...
74-- ...
75−-- Could not deduce (Or
75+-- ...Could not deduce...
76−-- (IsElem' (Verb 'DELETE 200 '[JSON] ()) (Verb 'GET 200 '[JSON] Int))
76+-- ...
77−-- (IsElem'
78−-- ("hello" :> Delete '[JSON] ())
79−-- ("bye" :> (QueryParam "name" String :> Delete '[JSON] ()))))
80−-- arising from a use of ‘safeLink’
81−-- In the expression: safeLink api bad_link
82−-- In an equation for ‘it’: it = safeLink api bad_link
83--
77--
84-- This error is essentially saying that the type family couldn't find
78-- This error is essentially saying that the type family couldn't find
85-- bad_link under api after trying the open (but empty) type family
79-- bad_link under api after trying the open (but empty) type family
servant/test/Servant/Utils/LinksSpec.hs+5−5
@@ -67,27 +67,27 @@ spec = describe "Servant.Utils.Links" $ do
67--
67--
68-- >>> apiLink (Proxy :: Proxy WrongPath)
68-- >>> apiLink (Proxy :: Proxy WrongPath)
69-- ...
69-- ...
70−-- Could not deduce ...
70+-- ...Could not deduce...
71-- ...
71-- ...
72--
72--
73-- >>> apiLink (Proxy :: Proxy WrongReturnType)
73-- >>> apiLink (Proxy :: Proxy WrongReturnType)
74-- ...
74-- ...
75−-- Could not deduce ...
75+-- ...Could not deduce...
76-- ...
76-- ...
77--
77--
78-- >>> apiLink (Proxy :: Proxy WrongContentType)
78-- >>> apiLink (Proxy :: Proxy WrongContentType)
79-- ...
79-- ...
80−-- Could not deduce ...
80+-- ...Could not deduce...
81-- ...
81-- ...
82--
82--
83-- >>> apiLink (Proxy :: Proxy WrongMethod)
83-- >>> apiLink (Proxy :: Proxy WrongMethod)
84-- ...
84-- ...
85−-- Could not deduce ...
85+-- ...Could not deduce...
86-- ...
86-- ...
87--
87--
88-- >>> apiLink (Proxy :: Proxy NotALink)
88-- >>> apiLink (Proxy :: Proxy NotALink)
89-- ...
89-- ...
90−-- Could not deduce ...
90+-- ...Could not deduce...
91-- ...
91-- ...
92--
92--
93-- sanity check
93-- sanity check
stack-ghc-7.8.4.yaml+1−2
@@ -5,7 +5,6 @@ packages:
5- servant-cassava/
5- servant-cassava/
6- servant-client/
6- servant-client/
7- servant-docs/
7- servant-docs/
8−- servant-examples/
9- servant-foreign/
8- servant-foreign/
10- servant-js/
9- servant-js/
11- servant-lucid/
10- servant-lucid/
@@ -24,5 +23,5 @@ extra-deps:
24- stm-delay-0.1.1.1
23- stm-delay-0.1.1.1
25- control-monad-omega-0.3.1
24- control-monad-omega-0.3.1
26- http-api-data-0.1.1.1
25- http-api-data-0.1.1.1
27−- should-not-typecheck-2.0.1
26+- should-not-typecheck-2.1.0
28resolver: lts-2.22
27resolver: lts-2.22
stack-ghc-8.0.1.yamlnew file+166
@@ -0,0 +1,166 @@
1+flags:
2+ time-locale-compat:
3+ old-locale: false
4+packages:
5+- servant/
6+- servant-blaze/
7+- servant-cassava/
8+- servant-client/
9+- servant-docs/
10+- servant-foreign/
11+- servant-js/
12+- servant-lucid/
13+- servant-mock/
14+- servant-server/
15+setup-info:
16+ ghc:
17+ linux64:
18+ 8.0.0.20160421:
19+ url: https://downloads.haskell.org/~ghc/8.0.1-rc4/ghc-8.0.0.20160421-x86_64-unknown-linux.tar.xz
20+ macosx:
21+ 8.0.0.20160421:
22+ url: https://downloads.haskell.org/~ghc/8.0.1-rc4/ghc-8.0.0.20160421-x86_64-apple-darwin.tar.xz
23+extra-deps:
24+- Diff-0.3.4
25+- HUnit-1.3.1.1
26+- QuickCheck-2.8.2
27+- StateVar-1.1.0.4
28+- adjunctions-4.3
29+- aeson-0.11.2.0
30+- aeson-pretty-0.7.2
31+- ansi-terminal-0.6.2.3
32+- ansi-wl-pprint-0.6.7.3
33+- appar-0.1.4
34+- asn1-encoding-0.9.3
35+- asn1-parse-0.9.4
36+- asn1-types-0.3.2
37+- async-2.1.0
38+- attoparsec-0.13.0.2
39+- auto-update-0.1.4
40+- base-compat-0.9.1
41+- base-orphans-0.5.4
42+- base64-bytestring-1.0.0.1
43+- bifunctors-5.3
44+- blaze-builder-0.4.0.2
45+- blaze-html-0.8.1.1
46+- blaze-markup-0.7.0.3
47+- byteable-0.1.1
48+- byteorder-1.0.4
49+- bytestring-builder-0.10.6.0.0
50+- bytestring-conversion-0.3.1
51+- case-insensitive-1.2.0.6
52+- cassava-0.4.5.0
53+- cereal-0.5.1.0
54+- charset-0.3.7.1
55+- cmdargs-0.10.14
56+- comonad-5
57+- connection-0.2.5
58+- contravariant-1.4
59+- control-monad-omega-0.3.1
60+- cookie-0.4.2
61+- cryptonite-0.15
62+- data-default-class-0.0.1
63+- distributive-0.5.0.2
64+- dlist-0.7.1.2
65+- doctest-0.11.0
66+- double-conversion-2.0.1.0
67+- easy-file-0.2.1
68+- exceptions-0.8.2.1
69+- fail-4.9.0.0
70+- fast-logger-2.4.6
71+- file-embed-0.0.10
72+- filemanip-0.3.6.3
73+- free-4.12.4
74+- ghc-paths-0.1.0.9
75+- hashable-1.2.4.0
76+- hex-0.1.2
77+- hourglass-0.2.10
78+- hspec-2.2.3
79+- hspec-core-2.2.3
80+- hspec-discover-2.2.3
81+- hspec-expectations-0.7.2
82+- hspec-wai-0.6.6
83+- http-api-data-0.2.2
84+- http-client-0.4.28
85+- http-client-tls-0.2.4
86+- http-date-0.0.6.1
87+- http-media-0.6.3
88+- http-types-0.9
89+- http2-1.6.0
90+- iproute-1.7.0
91+- kan-extensions-5.0.1
92+- language-ecmascript-0.17.1.0
93+- lens-4.14
94+- lifted-base-0.2.3.6
95+- lucid-2.9.5
96+- memory-0.12
97+- mime-types-0.1.0.7
98+- mmorph-1.0.6
99+- monad-control-1.0.1.0
100+- mtl-2.2.1
101+- network-2.6.2.1
102+- network-uri-2.6.1.0
103+- old-locale-1.0.0.7
104+- old-time-1.1.0.3
105+- optparse-applicative-0.12.1.0
106+- parallel-3.2.1.0
107+- parsec-3.1.9
108+- pem-0.2.2
109+- prelude-extras-0.4.0.3
110+- primitive-0.6.1.0
111+- profunctors-5.2
112+- psqueues-0.2.2.1
113+- quickcheck-instances-0.3.12
114+- quickcheck-io-0.1.2
115+- random-1.1
116+- reflection-2.1.2
117+- resourcet-1.1.7.4
118+- safe-0.3.9
119+- scientific-0.3.4.6
120+- semigroupoids-5.0.1
121+- semigroups-0.18.1
122+- setenv-0.1.1.3
123+- should-not-typecheck-2.1.0
124+- simple-sendfile-0.2.21
125+- socks-0.5.5
126+- split-0.2.3.1
127+- stm-2.4.4.1
128+- streaming-commons-0.1.15.4
129+- string-conversions-0.4
130+- stringsearch-0.3.6.6
131+- syb-0.6
132+- system-filepath-0.4.13.4
133+- tagged-0.8.4
134+- tagshare-0.0
135+- temporary-1.2.0.4
136+- testing-feat-0.4.0.3
137+- text-1.2.2.1
138+- tf-random-0.5
139+- time-locale-compat-0.1.1.1
140+- tls-1.3.7
141+- transformers-base-0.4.4
142+- transformers-compat-0.5.1.4
143+- uniplate-1.6.12
144+- unix-compat-0.4.1.4
145+- unix-time-0.3.6
146+- unordered-containers-0.2.7.0
147+- url-2.1.3
148+- utf8-string-1.0.1.1
149+- vault-0.3.0.6
150+- vector-0.11.0.0
151+- void-0.7.1
152+- wai-3.2.1
153+- wai-app-static-3.1.5
154+- wai-extra-3.0.15.1
155+- wai-logger-2.2.7
156+- warp-3.2.6
157+- with-location-0.1.0
158+- wl-pprint-1.2
159+- word8-0.1.2
160+- x509-1.6.3
161+- x509-store-1.6.1
162+- x509-system-1.6.3
163+- x509-validation-1.6.3
164+- zlib-0.6.1.1
165+compiler-check: match-exact
166+resolver: ghc-8.0.0.20160421