Sourced from proptest-derive's changelog.
0.4.0
Potential Breaking Changes
proptest::char::ANY
replaced withproptest::char::any()
.proptest::char::ANY
is present but deprecated, and will be removed in proptest 0.5.0.Instead of returning
-> Result<Self::Value, String>
, strategies are expected to return-> Result<Self::Value, Reason>
instead.Reason
reduces the amount of heap allocations, especially for.prop_filter(..)
where you may now also pass in&'static str
. You will only experience breaks if you've written your own strategy types or if you've usedTestCaseError::Reject
orTestCaseError::Fail
explicitly.Update of externally-visible crate
rand
to0.4.2
.New Additions
Added
proptest::test_runner::Reason
which allows you to avoid heap allocation in some places and may be used to make the API richer in the future without incurring more breaking changes.Added a type alias
proptest::strategy::NewTree<S>
whereS: Strategy
defined as:type NewTree<S> = Result<<S as Strategy>::Value, Rejection>
.0.3.4
Bug Fixes
- Cases where
file!()
returns a relative path, such as on Windows, are now handled more reasonably. See #24 for more details and instructions on how to migrate any persistence files that had been written to the wrong location.0.3.3
Boxing Day Special
New Additions
Added support for
i128
andu128
. Since this is an unstable feature in Rust, this is hidden behind the featureunstable
which you have to explicitly opt into in yourCargo.toml
file.Failing case persistence. By default, when a test fails, Proptest will now save the seed for the failing test to a file, and later runs will test the persisted failing cases before generating new ones.
... (truncated)