Function proptest::arbitrary::arbitrary_with [−][src]
#[must_use = "strategies do nothing unless used"]pub fn arbitrary_with<A, S, P>(args: P) -> S where
P: Default,
S: Strategy<Value = A>,
A: Arbitrary<Strategy = S, Parameters = P>,
Generates a Strategy
producing Arbitrary
values of A
with the
given configuration arguments passed in args
.
Works better with type inference than any_with::<A>(args)
.
With this version, you shouldn't need to specify any of the (many) type
parameters explicitly. This can have a positive effect on type inference.
However, if you want specify A
, you should use
any_with::<A>(args)
instead.
For clarity, it is often a good idea to specify the type generated, and
so using any_with::<A>(args)
can be a good idea.
If you don't want to specify any arguments and instead use the default
behavior, you should use arbitrary()
.
Example
The function can be used as:
extern crate proptest; use proptest::arbitrary::{arbitrary_with, StrategyFor}; use proptest::collection::size_range; fn gen_vec_10_u32() -> StrategyFor<Vec<u32>> { arbitrary_with(size_range(10).lift()) }