nick8325 / quickcheck

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

QuickCheck doesn't compile with ghc 9.0 alpha #318

Closed GeorgeCo closed 5 months ago

GeorgeCo commented 3 years ago

I know it's early but QuickCheck doesn't install against ghc 9.0. You may have to compile a couple of packages with --allow-new to get to this error:

Building library for QuickCheck-2.14.1.. ... [14 of 16] Compiling Test.QuickCheck.All ( src/Test/QuickCheck/All.hs, dist/build/Test/QuickCheck/All.o, dist/build/Test/QuickCheck/All.dyn_o )

src/Test/QuickCheck/All.hs:102:14: error: • The constructor ‘PlainTV’ should have 2 arguments, but has been given 1 • In the pattern: PlainTV In an equation for ‘plain’: plain (PlainTV ) = True In the expression: do let plain (PlainTV ) = True plain (KindedTV StarT) = True plain = False unless (all plain xs) $ err "Higher-kinded type variables in type" return (map (\ (PlainTV x) -> x) xs, ctx, ty) | 102 | let plain (PlainTV ) = True | ^^^^^^^^^^

src/Test/QuickCheck/All.hs:110:18: error: • The constructor ‘PlainTV’ should have 2 arguments, but has been given 1 • In the pattern: PlainTV x In the first argument of ‘map’, namely ‘(\ (PlainTV x) -> x)’ In the expression: map (\ (PlainTV x) -> x) xs | 110 | return (map ((PlainTV x) -> x) xs, ctx, ty) | ^^^^^^^^^ cabal: Failed to build QuickCheck-2.14.1. See the build log above for details.

phadej commented 3 years ago

See #314 (and also #298, #306).

GeorgeCo commented 3 years ago

It seems to compile now with 9.0 rc1, i.e. version 9.0.0.20201227. Unfortunately I'm not sure if I used --allow-new on it or its dependencies.

andreasabel commented 3 years ago

This issue can be closed, 2.14.2 builds with ghc 9.0.1.