I heard you like shrinking, so I shrunk the shrinker #2526
Merged
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.
It turns out that our test suite passes without a number of the shrink passes, saving only for some hyper-specific tests that tested specific behaviour of those passes. So I deleted them. The Hypothesis shrinker: Now with less code.
Motivation
Partly this is just because deleting code that we don't actually need is good and I encourage it, but I had some specific goals in mind for targeting these shrink passes: I have a low-key goal of removing the concept of
examples
fromConjectureData
and making our code work purely based on integer values of blocks. Removing things that we don't need that rely on these features is a great first step towards that.(We're probably going to keep something like
start_example
andstop_example
code so that we can use it for discards, but we hopefully won't need to maintain any sort of hierarchical tree of examples)