Warning: The install command is a part of the legacy v1 style of cabal usage. Please switch to using either the new project style and the new-install command or the legacy v1-install alias as new-style projects will become the default in the next version of cabal-install. Please file a bug if you cannot replicate a working v1- use case with the new-style commands. For more information, see: https://wiki.haskell.org/Cabal/NewBuild Resolving dependencies... Starting base-orphans-0.8 Starting StateVar-1.1.1.1 Building StateVar-1.1.1.1 Building base-orphans-0.8 Completed base-orphans-0.8 Starting cabal-doctest-1.0.6 Completed StateVar-1.1.1.1 Starting call-stack-0.1.0 Building cabal-doctest-1.0.6 Building call-stack-0.1.0 Completed call-stack-0.1.0 Starting hashable-1.2.7.0 Building hashable-1.2.7.0 Completed cabal-doctest-1.0.6 Starting old-locale-1.0.0.7 Building old-locale-1.0.0.7 Completed old-locale-1.0.0.7 Starting parallel-3.2.2.0 Building parallel-3.2.2.0 Completed hashable-1.2.7.0 Starting primitive-0.6.4.0 Building primitive-0.6.4.0 Completed parallel-3.2.2.0 Starting reflection-2.1.4 Building reflection-2.1.4 Completed reflection-2.1.4 Starting semigroups-0.18.5 Building semigroups-0.18.5 Completed semigroups-0.18.5 Starting tagged-0.8.6 Building tagged-0.8.6 Completed primitive-0.6.4.0 Starting th-abstraction-0.2.8.0 Building th-abstraction-0.2.8.0 Completed tagged-0.8.6 Starting transformers-compat-0.6.2 Building transformers-compat-0.6.2 Completed transformers-compat-0.6.2 Starting void-0.7.2 Completed th-abstraction-0.2.8.0 Starting contravariant-1.5 Building void-0.7.2 Building contravariant-1.5 Completed void-0.7.2 Starting old-time-1.1.0.3 Building old-time-1.1.0.3 Completed contravariant-1.5 Starting unordered-containers-0.2.9.0 Building unordered-containers-0.2.9.0 Completed old-time-1.1.0.3 Starting vector-0.12.0.2 Building vector-0.12.0.2 Completed unordered-containers-0.2.9.0 Starting distributive-0.6 Building distributive-0.6 Completed distributive-0.6 Starting transformers-base-0.4.5.2 Building transformers-base-0.4.5.2 Completed transformers-base-0.4.5.2 Starting exceptions-0.10.0 Building exceptions-0.10.0 Completed exceptions-0.10.0 Starting comonad-5.0.4 Building comonad-5.0.4 Completed comonad-5.0.4 Starting bifunctors-5.5.3 Building bifunctors-5.5.3 Completed vector-0.12.0.2 Completed bifunctors-5.5.3 Starting profunctors-5.3 Starting semigroupoids-5.3.1 Building profunctors-5.3 Building semigroupoids-5.3.1 Completed profunctors-5.3 Starting invariant-0.5.1 Building invariant-0.5.1 Completed semigroupoids-5.3.1 Starting free-5.1 Building free-5.1 Completed invariant-0.5.1 Starting either-5.0.1 Building either-5.0.1 Completed either-5.0.1 Completed free-5.1 Starting adjunctions-4.4 Building adjunctions-4.4 Completed adjunctions-4.4 Starting kan-extensions-5.2 Building kan-extensions-5.2 Completed kan-extensions-5.2 Starting lens-4.17 Building lens-4.17 Completed lens-4.17 Starting convert-1.0.2 Building convert-1.0.2 Failed to install convert-1.0.2 Build log ( /home/builder/.cabal/logs/ghc-8.6.1/convert-1.0.2-2ui6nafUBzt3ovgEtl3Sr3.log ): cabal: Entering directory '/tmp/cabal-tmp-11546/convert-1.0.2' Configuring convert-1.0.2... Preprocessing library for convert-1.0.2.. Building library for convert-1.0.2.. [ 1 of 10] Compiling Data.Convert.Base ( src/Data/Convert/Base.hs, dist/build/Data/Convert/Base.o ) [ 2 of 10] Compiling Data.Convert.Bound ( src/Data/Convert/Bound.hs, dist/build/Data/Convert/Bound.o ) src/Data/Convert/Bound.hs:61:5: error: • Couldn't match type ‘[Dec] -> Dec’ with ‘Dec’ Expected type: Q Dec Actual type: Q ([Dec] -> Dec) • In a stmt of a 'do' block: return $ if bounds `isSubBound` bounds' then InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) $ convf "convert" id else InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) $ convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion") In the expression: do exp <- qexp :: Q Exp let convf name fmod = ... return $ if bounds `isSubBound` bounds' then InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) $ convf "convert" id else InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) $ convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion") In an equation for ‘genConversion’: genConversion c@(Conversion qexp (Type name bounds) (Type name' bounds')) = do exp <- qexp :: Q Exp let convf name fmod = ... return $ if bounds `isSubBound` bounds' then InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) $ convf "convert" id else InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) $ convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion") | 61 | return $ if bounds `isSubBound` bounds' | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^... src/Data/Convert/Bound.hs:62:24: error: • Couldn't match expected type ‘Maybe Overlap’ with actual type ‘[a0]’ • In the first argument of ‘InstanceD’, namely ‘[]’ In the expression: InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) In the expression: InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) $ convf "convert" id | 62 | then InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) $ convf "convert" id | ^^ src/Data/Convert/Bound.hs:62:28: error: • Couldn't match type ‘Language.Haskell.TH.Syntax.Type’ with ‘[Pred]’ Expected type: Cxt Actual type: Language.Haskell.TH.Syntax.Type • In the second argument of ‘InstanceD’, namely ‘(AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name'))’ In the expression: InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) In the expression: InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) $ convf "convert" id | 62 | then InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) $ convf "convert" id | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Data/Convert/Bound.hs:62:98: error: • Couldn't match expected type ‘Language.Haskell.TH.Syntax.Type’ with actual type ‘[Dec]’ • In the second argument of ‘($)’, namely ‘convf "convert" id’ In the expression: InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) $ convf "convert" id In the second argument of ‘($)’, namely ‘if bounds `isSubBound` bounds' then InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) $ convf "convert" id else InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) $ convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion")’ | 62 | then InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) $ convf "convert" id | ^^^^^^^^^^^^^^^^^^ src/Data/Convert/Bound.hs:63:24: error: • Couldn't match expected type ‘Maybe Overlap’ with actual type ‘[a1]’ • In the first argument of ‘InstanceD’, namely ‘[]’ In the expression: InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) In the expression: InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) $ convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion") | 63 | else InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) $ convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion") | ^^ src/Data/Convert/Bound.hs:63:28: error: • Couldn't match type ‘Language.Haskell.TH.Syntax.Type’ with ‘[Pred]’ Expected type: Cxt Actual type: Language.Haskell.TH.Syntax.Type • In the second argument of ‘InstanceD’, namely ‘(AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name'))’ In the expression: InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) In the expression: InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) $ convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion") | 63 | else InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) $ convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion") | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ src/Data/Convert/Bound.hs:63:139: error: • Couldn't match expected type ‘Language.Haskell.TH.Syntax.Type’ with actual type ‘[Dec]’ • In the second argument of ‘($)’, namely ‘convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion")’ In the expression: InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) $ convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion") In the second argument of ‘($)’, namely ‘if bounds `isSubBound` bounds' then InstanceD [] (AppT (AppT (ConT $ mkName "Convertible") (ConT name)) (ConT name')) $ convf "convert" id else InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) $ convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion")’ | 63 | else InstanceD [] (AppT (AppT (AppT (ConT $ mkName "MaybeConvertible") (ConT name)) (ConT $ mkName "BoundError")) (ConT name')) $ convf "tryConvert" $ AppE (VarE $ mkName "boundedConversion") | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cabal: Leaving directory '/tmp/cabal-tmp-11546/convert-1.0.2' cabal: Error: some packages failed to install: container-1.1.6-1tpP95LsNcvGFJ12r1fkDI depends on container-1.1.6 which failed to install. convert-1.0.2-2ui6nafUBzt3ovgEtl3Sr3 failed during the building phase. The exception was: ExitFailure 1