Trait proptest::arbitrary::functor::ArbitraryF1 [−][src]
ArbitraryF1 lets you lift a Strategy to unary
type constructors such as Box, Vec, and Option.
The trait corresponds to
Haskell QuickCheck's Arbitrary1 type class.
Associated Types
type Parameters: Default[src]
The type of parameters that lift1_with accepts for
configuration of the lifted and generated Strategy. Parameters
must implement Default.
Required methods
fn lift1_with<AS>(base: AS, args: Self::Parameters) -> BoxedStrategy<Self> where
AS: Strategy<Value = A> + 'static, [src]
AS: Strategy<Value = A> + 'static,
Provided methods
fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
AS: Strategy<Value = A> + 'static, [src]
AS: Strategy<Value = A> + 'static,
Lifts a given Strategy to a new Strategy for the (presumably)
bigger type. This is useful for lifting a Strategy for SomeType
to a container such as Vec<SomeType>.
Calling this for the type X is the equivalent of using
X::lift1_with(base, Default::default()).
This method is defined in the trait for optimization for the default if you want to do that. It is a logic error to not preserve the semantics when overriding.
Implementations on Foreign Types
impl<A: Debug + 'static + Copy> ArbitraryF1<A> for Cell<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for RefCell<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for UnsafeCell<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for Reverse<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for Once<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static + Clone> ArbitraryF1<A> for Repeat<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static + Iterator + Clone> ArbitraryF1<A> for Cycle<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static + Iterator> ArbitraryF1<A> for Enumerate<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static + Iterator> ArbitraryF1<A> for Fuse<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static + Iterator<Item = T>, T: Debug> ArbitraryF1<A> for Peekable<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static + DoubleEndedIterator> ArbitraryF1<A> for Rev<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<T: 'static + Clone, A: Debug + 'static + Iterator<Item = &'static T>> ArbitraryF1<A> for Cloned<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static + Iterator, B: 'static + Arbitrary + Iterator> ArbitraryF1<A> for Zip<B, A>[src]
type Parameters = B::Parameters
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static + Iterator<Item = T>, B: 'static + Arbitrary + Iterator<Item = T>, T> ArbitraryF1<A> for Chain<B, A>[src]
type Parameters = B::Parameters
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + Iterator> ArbitraryF1<A> for Skip<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + Iterator> ArbitraryF1<A> for Take<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + Iterator> ArbitraryF1<A> for StepBy<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for Discriminant<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for Wrapping<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug> ArbitraryF1<A> for Option<A>[src]
type Parameters = Probability
fn lift1_with<S>(base: S, prob: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for IntoIter<A>[src]
type Parameters = Probability
fn lift1_with<S>(base: S, prob: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for Result<A, ParseError>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for Result<A, !>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug, E: Arbitrary> ArbitraryF1<A> for Result<A, E> where
E::Strategy: 'static, [src]
E::Strategy: 'static,
type Parameters = (Probability, E::Parameters)
fn lift1_with<AS>(base: AS, args: Self::Parameters) -> BoxedStrategy<Self> where
AS: Strategy<Value = A> + 'static, [src]
AS: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for IntoIter<A>[src]
type Parameters = Probability
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + Borrow<B> + 'static, B: ToOwned<Owned = A> + Debug + ?Sized> ArbitraryF1<A> for Cow<'static, B>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for Box<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug> ArbitraryF1<A> for Vec<A>[src]
type Parameters = SizeRange
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug> ArbitraryF1<A> for VecDeque<A>[src]
type Parameters = SizeRange
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug> ArbitraryF1<A> for LinkedList<A>[src]
type Parameters = SizeRange
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + Ord> ArbitraryF1<A> for BTreeSet<A>[src]
type Parameters = SizeRange
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + Ord> ArbitraryF1<A> for BinaryHeap<A>[src]
type Parameters = SizeRange
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for IntoIter<A>[src]
type Parameters = SizeRange
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for IntoIter<A>[src]
type Parameters = SizeRange
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for IntoIter<A>[src]
type Parameters = SizeRange
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static + Ord> ArbitraryF1<A> for IntoIter<A>[src]
type Parameters = SizeRange
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static + Ord> ArbitraryF1<A> for IntoIter<A>[src]
type Parameters = SizeRange
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug, K: Ord + Arbitrary + 'static> ArbitraryF1<A> for BTreeMap<K, A>[src]
type Parameters = (SizeRange, K::Parameters)
fn lift1_with<S>(base: S, args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for Bound<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for RangeFrom<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for RangeTo<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for RangeToInclusive<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + PartialOrd> ArbitraryF1<A> for RangeInclusive<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + PartialOrd> ArbitraryF1<A> for Range<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for Rc<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,
impl<A: Debug + 'static> ArbitraryF1<A> for Arc<A>[src]
type Parameters = ()
fn lift1_with<S>(base: S, _args: Self::Parameters) -> BoxedStrategy<Self> where
S: Strategy<Value = A> + 'static, [src]
S: Strategy<Value = A> + 'static,