pub type StrategyType<'a, A> = <A as Arbitrary<'a>>::Strategy;Expand description
StrategyType allows you to mention the type of Strategy for the
input type A without directly using associated types or without resorting
to existential types. This way, if implementation of Arbitrary changes,
your tests should not break. This can be especially beneficial when the
type of Strategy that you are dealing with is very long in name
(the case with generics). Additionally, if you have a custom Strategy
type, or use a Strategy type with generics in it where you’ve provided
a custom type for the type parameter, you need not export your type if A
is Arbitrary as the Strategy type is still reachable from StrategyType.
Unless the strategy uses lifetimes in the type, you most likely want
StrategyFor<A> instead.