snoyberg / mono-traversable

Type classes for mapping, folding, and traversing monomorphic containers
153 stars 63 forks source link

inaccurate version bounds in .cabal file #106

Open hvr opened 8 years ago

hvr commented 8 years ago

Looks like a base >= base-4.7 is needed at a first glance (affected versions 1.0.0 and 1.0.0.1)

opt/ghc/7.6.3/bin/ghc --make -fbuilding-cabal-package -O -odir dist/dist-sandbox-b54971e6/build -hidir dist/dist-sandbox-b54971e6/build -stubdir dist/dist-sandbox-b54971e6/build -i -idist/dist-sandbox-b54971e6/build -isrc -idist/dist-sandbox-b54971e6/build/autogen -Idist/dist-sandbox-b54971e6/build/autogen -Idist/dist-sandbox-b54971e6/build -optP-include -optPdist/dist-sandbox-b54971e6/build/autogen/cabal_macros.h -package-name mono-traversable-1.0.0.1 -hide-all-packages -no-user-package-db -package-db /tmp/extra73206874659/.cabal-sandbox/x86_64-linux-ghc-7.6.3-packages.conf.d -package-db dist/dist-sandbox-b54971e6/package.conf.inplace -package-id base-4.6.0.1-8aa5d403c45ea59dcd2c39f123e27d57 -package-id bytestring-0.10.0.2-4f93248f75667c2c3321a7a6761b576f -package-id containers-0.5.0.0-ab1dae9a94cd3cc84e7b2805636ebfa2 -package-id hashable-1.2.4.0-5c5ab97f3d2856cfbc22841910e702d4 -package-id semigroups-0.18.2-f7b0d1bee58ede214a690b1d5299a288 -package-id split-0.2.3.1-b48b7470bc8297027ac844740f31e6c4 -package-id text-1.2.2.1-ef949c2ec7b64f8040a60819c88462ec -package-id transformers-0.5.2.0-953ebdb072734d19da9d0af418618f4c -package-id unordered-containers-0.2.7.1-c042adfd31c8398ac795cbf8034285ee -package-id vector-0.11.0.0-439368f5ac8354122777ee42ac6bdc09 -package-id vector-algorithms-0.7.0.1-40fdfbab38aaa1641e3d47220c5af874 -XHaskell2010 Data.MonoTraversable Data.MonoTraversable.Unprefixed Data.Containers Data.Sequences Data.NonNull -Wall
[1 of 5] Compiling Data.MonoTraversable ( src/Data/MonoTraversable.hs, dist/dist-sandbox-b54971e6/build/Data/MonoTraversable.o )

src/Data/MonoTraversable.hs:721:10:
    Could not deduce (F.Foldable ((,) a))
      arising from a use of `Data.MonoTraversable.$gdmofoldMap'
    from the context (Monoid m)
      bound by the type signature for
                 ofoldMap :: Monoid m => (Element (a, b) -> m) -> (a, b) -> m
      at src/Data/MonoTraversable.hs:721:10-28
    Possible fix: add an instance declaration for (F.Foldable ((,) a))
    In the expression: (Data.MonoTraversable.$gdmofoldMap)
    In an equation for `ofoldMap':
        ofoldMap = (Data.MonoTraversable.$gdmofoldMap)
    In the instance declaration for `MonoFoldable (a, b)'

src/Data/MonoTraversable.hs:721:10:
    No instance for (F.Foldable ((,) a))
      arising from a use of `Data.MonoTraversable.$gdmofoldr'
    Possible fix: add an instance declaration for (F.Foldable ((,) a))
    In the expression: (Data.MonoTraversable.$gdmofoldr)
    In an equation for `ofoldr':
        ofoldr = (Data.MonoTraversable.$gdmofoldr)
    In the instance declaration for `MonoFoldable (a, b)'

src/Data/MonoTraversable.hs:721:10:
    No instance for (F.Foldable ((,) a))
      arising from a use of Data.MonoTraversable.$gdmofoldl'
    Possible fix: add an instance declaration for (F.Foldable ((,) a))
    In the expression: (Data.MonoTraversable.$gdmofoldl')
    In an equation for ofoldl':
        ofoldl' = (Data.MonoTraversable.$gdmofoldl')
    In the instance declaration for `MonoFoldable (a, b)'

src/Data/MonoTraversable.hs:721:10:
    No instance for (F.Foldable ((,) a))
      arising from a use of `Data.MonoTraversable.$gdmofoldr1Ex'
    Possible fix: add an instance declaration for (F.Foldable ((,) a))
    In the expression: (Data.MonoTraversable.$gdmofoldr1Ex)
    In an equation for `ofoldr1Ex':
        ofoldr1Ex = (Data.MonoTraversable.$gdmofoldr1Ex)
    In the instance declaration for `MonoFoldable (a, b)'

src/Data/MonoTraversable.hs:721:10:
    No instance for (F.Foldable ((,) a))
      arising from a use of Data.MonoTraversable.$gdmofoldl1Ex'
    Possible fix: add an instance declaration for (F.Foldable ((,) a))
    In the expression: (Data.MonoTraversable.$gdmofoldl1Ex')
    In an equation for ofoldl1Ex':
        ofoldl1Ex' = (Data.MonoTraversable.$gdmofoldl1Ex')
    In the instance declaration for `MonoFoldable (a, b)'

src/Data/MonoTraversable.hs:722:10:
    Could not deduce (F.Foldable (Const m))
      arising from a use of `Data.MonoTraversable.$gdmofoldMap'
    from the context (Monoid m1)
      bound by the type signature for
                 ofoldMap :: Monoid m1 =>
                             (Element (Const m a) -> m1) -> Const m a -> m1
      at src/Data/MonoTraversable.hs:722:10-33
    Possible fix:
      add an instance declaration for (F.Foldable (Const m))
    In the expression: (Data.MonoTraversable.$gdmofoldMap)
    In an equation for `ofoldMap':
        ofoldMap = (Data.MonoTraversable.$gdmofoldMap)
    In the instance declaration for `MonoFoldable (Const m a)'

src/Data/MonoTraversable.hs:722:10:
    No instance for (F.Foldable (Const m))
      arising from a use of `Data.MonoTraversable.$gdmofoldr'
    Possible fix:
      add an instance declaration for (F.Foldable (Const m))
    In the expression: (Data.MonoTraversable.$gdmofoldr)
    In an equation for `ofoldr':
        ofoldr = (Data.MonoTraversable.$gdmofoldr)
    In the instance declaration for `MonoFoldable (Const m a)'

src/Data/MonoTraversable.hs:722:10:
    No instance for (F.Foldable (Const m))
      arising from a use of Data.MonoTraversable.$gdmofoldl'
    Possible fix:
      add an instance declaration for (F.Foldable (Const m))
    In the expression: (Data.MonoTraversable.$gdmofoldl')
    In an equation for ofoldl':
        ofoldl' = (Data.MonoTraversable.$gdmofoldl')
    In the instance declaration for `MonoFoldable (Const m a)'

src/Data/MonoTraversable.hs:722:10:
    No instance for (F.Foldable (Const m))
      arising from a use of `Data.MonoTraversable.$gdmofoldr1Ex'
    Possible fix:
      add an instance declaration for (F.Foldable (Const m))
    In the expression: (Data.MonoTraversable.$gdmofoldr1Ex)
    In an equation for `ofoldr1Ex':
        ofoldr1Ex = (Data.MonoTraversable.$gdmofoldr1Ex)
    In the instance declaration for `MonoFoldable (Const m a)'

src/Data/MonoTraversable.hs:722:10:
    No instance for (F.Foldable (Const m))
      arising from a use of Data.MonoTraversable.$gdmofoldl1Ex'
    Possible fix:
      add an instance declaration for (F.Foldable (Const m))
    In the expression: (Data.MonoTraversable.$gdmofoldl1Ex')
    In an equation for ofoldl1Ex':
        ofoldl1Ex' = (Data.MonoTraversable.$gdmofoldl1Ex')
    In the instance declaration for `MonoFoldable (Const m a)'

src/Data/MonoTraversable.hs:1015:10:
    Could not deduce (Traversable ((,) a))
      arising from a use of `Data.MonoTraversable.$gdmotraverse'
    from the context (MonoFunctor (a, b), MonoFoldable (a, b))
      bound by the instance declaration
      at src/Data/MonoTraversable.hs:1015:10-31
    or from (Applicative f)
      bound by the type signature for
                 otraverse :: Applicative f =>
                              (Element (a, b) -> f (Element (a, b))) -> (a, b) -> f (a, b)
      at src/Data/MonoTraversable.hs:1015:10-31
    Possible fix: add an instance declaration for (Traversable ((,) a))
    In the expression: (Data.MonoTraversable.$gdmotraverse)
    In an equation for `otraverse':
        otraverse = (Data.MonoTraversable.$gdmotraverse)
    In the instance declaration for `MonoTraversable (a, b)'

src/Data/MonoTraversable.hs:1015:10:
    Could not deduce (Traversable ((,) a))
      arising from a use of `Data.MonoTraversable.$gdmomapM'
    from the context (MonoFunctor (a, b), MonoFoldable (a, b))
      bound by the instance declaration
      at src/Data/MonoTraversable.hs:1015:10-31
    or from (Monad m)
      bound by the type signature for
                 omapM :: Monad m =>
                          (Element (a, b) -> m (Element (a, b))) -> (a, b) -> m (a, b)
      at src/Data/MonoTraversable.hs:1015:10-31
    Possible fix: add an instance declaration for (Traversable ((,) a))
    In the expression: (Data.MonoTraversable.$gdmomapM)
    In an equation for `omapM':
        omapM = (Data.MonoTraversable.$gdmomapM)
    In the instance declaration for `MonoTraversable (a, b)'

src/Data/MonoTraversable.hs:1016:10:
    Could not deduce (Traversable (Const m))
      arising from a use of `Data.MonoTraversable.$gdmotraverse'
    from the context (MonoFunctor (Const m a),
                      MonoFoldable (Const m a))
      bound by the instance declaration
      at src/Data/MonoTraversable.hs:1016:10-36
    or from (Applicative f)
      bound by the type signature for
                 otraverse :: Applicative f =>
                              (Element (Const m a) -> f (Element (Const m a)))
                              -> Const m a -> f (Const m a)
      at src/Data/MonoTraversable.hs:1016:10-36
    Possible fix:
      add an instance declaration for (Traversable (Const m))
    In the expression: (Data.MonoTraversable.$gdmotraverse)
    In an equation for `otraverse':
        otraverse = (Data.MonoTraversable.$gdmotraverse)
    In the instance declaration for `MonoTraversable (Const m a)'

src/Data/MonoTraversable.hs:1016:10:
    Could not deduce (Traversable (Const m))
      arising from a use of `Data.MonoTraversable.$gdmomapM'
    from the context (MonoFunctor (Const m a),
                      MonoFoldable (Const m a))
      bound by the instance declaration
      at src/Data/MonoTraversable.hs:1016:10-36
    or from (Monad m1)
      bound by the type signature for
                 omapM :: Monad m1 =>
                          (Element (Const m a) -> m1 (Element (Const m a)))
                          -> Const m a -> m1 (Const m a)
      at src/Data/MonoTraversable.hs:1016:10-36
    Possible fix:
      add an instance declaration for (Traversable (Const m))
    In the expression: (Data.MonoTraversable.$gdmomapM)
    In an equation for `omapM':
        omapM = (Data.MonoTraversable.$gdmomapM)
    In the instance declaration for `MonoTraversable (Const m a)'
xcabal: Error: some packages failed to install:
mono-traversable-1.0.0.1 failed during the building phase. The exception was:
ExitFailure 1
snoyberg commented 7 years ago

I'll take PRs to tighten version bounds, but I have no intention of running around editing .cabal files on Hackage. I've made my feelings on this pretty clear: we should be doing this stuff in an automated fashion. I don't feel like wasting my time with backwards solutions.