JonasDuregard / testing-feat

FEAT
BSD 3-Clause "New" or "Revised" License
25 stars 9 forks source link

testing-feat-1.1.1.0 fails to build with GHC-8.2 and older #8

Open phadej opened 2 years ago

phadej commented 2 years ago
testing-feat-1.1.1.0 % cabal build -w ghc-8.2.2 
Resolving dependencies...
Build profile: -w ghc-8.2.2 -O1
In order, the following will be built (use -v for more details):
 - testing-feat-1.1.1.0 (lib) (first run)
Configuring library for testing-feat-1.1.1.0..
Preprocessing library for testing-feat-1.1.1.0..
Building library for testing-feat-1.1.1.0..
[1 of 7] Compiling Test.Feat.Class  ( Test/Feat/Class.hs, /codetmp/testing-feat-1.1.1.0/dist-newstyle/build/x86_64-linux/ghc-8.2.2/testing-feat-1.1.1.0/build/Test/Feat/Class.o )
[2 of 7] Compiling Test.Feat.Finite ( Test/Feat/Finite.hs, /codetmp/testing-feat-1.1.1.0/dist-newstyle/build/x86_64-linux/ghc-8.2.2/testing-feat-1.1.1.0/build/Test/Feat/Finite.o )

Test/Feat/Finite.hs:33:10: error:
    Not in scope: type constructor or class ‘Semigroup’
   |
33 | instance Semigroup (Finite a) where
   |          ^^^^^^^^^

I made a revision https://hackage.haskell.org/package/testing-feat-1.1.1.0/revisions/, it still allows GHC-8.4.

phadej commented 2 years ago

Also size-based-0.1.3.0 is broken with GHC-7.10 and GHC-7.8, but https://github.com/size-based/size-based doesn't have issues enabled.

Build profile: -w ghc-7.10.3 -O0
In order, the following will be built (use -v for more details):
 - size-based-0.1.3.0 (lib) (first run)
Configuring library for size-based-0.1.3.0..
Preprocessing library for size-based-0.1.3.0..
Building library for size-based-0.1.3.0..

Control/Enumerable/Count.hs:12:8:
    Could not find module ‘Data.Semigroup’

I made revision for it too: https://hackage.haskell.org/package/size-based-0.1.3.0/revisions/

phadej commented 2 years ago

It looks like you are not testing with GHC older than 8.6. It would be great if you bump the lower bound of base to base >=4.12 in all these packages, so no-one even tries use them with older compilers. I made conservative revisions, only disallowing bad plans there are build failures.