-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Arbitrary instance for CUSeconds doesn't work on x86_32 with QuickCheck >= 2.10.1 #201
Comments
Oh, interesting! We use Not immediately sure what to do about this, but it should be fixable. The change in question was made to support GHC 7.2, which defines |
I'm all for dropping support for GHC 7.2, it's 6 years old. |
If this is for @nick8325 I assume this is not what you suggested, but for me it would be fine to drop support for |
Ah, I'd forgotten about that. In that case I agree it makes sense to drop support for 7.2 altogether. |
This is all needed due to a QuickCheck bug (nick8325/quickcheck#201), the fix for which hasn't landed on Hackage yet. See #36.
QuickCheck-2.12 contains a fix for nick8325/quickcheck#201, which was the culprit behind #36. Now that QuickCheck-2.12 is released, we can properly fix #36 by depending on QuickCheck-2.12 as the minimum.
I'm not sure if text-show-instances is affected by nick8325/quickcheck#201 or not. But text-show definitely was (see RyanGlScott/text-show#36), and since text-show-instances defines some of the same Arbitrary instances for data types in Foreign.C.Types that have different underlying representations based on OS and architecture, it's better to be safe than sorry.
Consider the following:
When compiled on multilib x86_64 Gentoo Linux with 64bit GHC-8.0.2 and QuickCheck-2.11.3, the test passes:
However, when compiled with 32bit GHC-8.0.2 and QuickCheck-2.11.3, it fails:
Note that QuickCheck-2.10.0.1 works fine with both 32bit and 64bit GHC versions. It seems that Arbitrary instance for CUSeconds was broken in 2.10.1.
The text was updated successfully, but these errors were encountered: