nick8325 / quickcheck

Automatic testing of Haskell programs.
Other
713 stars 119 forks source link

QuickCheck-2.14.1 needs revision. #326

Closed phadej closed 3 years ago

phadej commented 3 years ago

Technically

diff --git a/QuickCheck.cabal b/QuickCheck.cabal
index 9fb6f02..ac68e14 100644
--- a/QuickCheck.cabal
+++ b/QuickCheck.cabal
@@ -113,7 +113,7 @@ library
     cpp-options: -DNO_TRANSFORMERS -DNO_DEEPSEQ

   if impl(ghc) && flag(templateHaskell)
-    Build-depends: template-haskell >= 2.4
+    Build-depends: template-haskell >= 2.4 && <2.16
     Other-Extensions: TemplateHaskell
     Exposed-Modules: Test.QuickCheck.All
   else

is enough. But I think it is better to do

diff --git a/QuickCheck.cabal b/QuickCheck.cabal
index 9fb6f02..0586d26 100644
--- a/QuickCheck.cabal
+++ b/QuickCheck.cabal
@@ -69,7 +69,7 @@ flag old-random

 library
   Hs-source-dirs: src
-  Build-depends: base >=4.3 && <5, containers
+  Build-depends: base >=4.3 && <4.15, containers
   Default-language: Haskell2010

   -- New vs old random.
@@ -113,7 +113,7 @@ library
     cpp-options: -DNO_TRANSFORMERS -DNO_DEEPSEQ

   if impl(ghc) && flag(templateHaskell)
-    Build-depends: template-haskell >= 2.4
+    Build-depends: template-haskell >= 2.4 && <2.16
     Other-Extensions: TemplateHaskell
     Exposed-Modules: Test.QuickCheck.All
   else

as flipping automatic template-haskell flag might be unfortunate for some.

phadej commented 3 years ago
                   9.0.1  8.10.3  8.8.4  8.6.5  8.4.4  8.2.2  8.0.2  7.10.3  7.8.4  7.6.3  7.4.2  7.2.2  7.0.4
QuickCheck-2.14.2  OK     OK      OK     OK     OK     OK     OK     OK      OK     OK     OK     OK     OK   
QuickCheck-2.14.1  FAIL   OK      OK     OK     OK     OK     OK     OK      OK     OK     OK     OK     OK  
endgame commented 3 years ago

As a Hackage Trustee, I have published these changes as a metadata revision to QuickCheck-2.14.1.

TomMD commented 3 years ago

This revision broke my build. This was unexpected seeing as I had a cabal.project.freeze fully specifying all versions (but not revisions). With everything having been operational with the old bounds I wonder, why was it necessary to axe TH 2.16? If GHC9 doesn't work then we can still allow the template-haskell that ships with 8.10.x.

endgame commented 3 years ago

I've tested that QuickCheck-2.14.1 passes tests on GHC-8.10.3 (template-haskell-2.16) and raised the upper bound in another revision.

TomMD commented 3 years ago

Thank you for the fast action.