Fix Arbitrary instances in Free tests for ScalaCheck 1.13.3 #1451
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A couple of weeks ago I noticed that updating to ScalaCheck 1.13.3 was causing weird ScalaTest errors. I "fixed" this by not updating to ScalaCheck 1.13.3.
Staying on 1.13.2 is no longer an option now that we're updating to 2.12.0, and I've confirmed that the same thing happens with 1.13.4 and 2.12.0.
The problem isn't actually ScalaTest calling
getSimpleName
—that's just making the error message uselessly obscure. Instead the problem seems to be some new bounds checking forGen.Choose
that was introduced in ScalaCheck 1.13.3. This PR fixes the issue by ensuring we don't callGen.chooseNum
withmin = 1
andmax = 0
.This seems sensible but someone whose familiar with the logic of these
Arbitrary
instances should confirm that it doesn't mess things up.Note that we can't update to 1.13.4 yet, since that's not published for 2.12.0-RC2. This PR will make that possible once Catalysts is ready, though.