Struct proptest::strategy::TupleUnion [] [src]

pub struct TupleUnion<T>(_);

Similar to Union, but internally uses a tuple to hold the strategies.

This allows better performance than vanilla Union since one does not need to resort to boxing and dynamic dispatch to handle heterogeneous strategies.

Methods

impl<T> TupleUnion<T>
[src]

[src]

Wrap tuple in a TupleUnion.

The struct definition allows any T for tuple, but to be useful, it must be a 2- to 10-tuple of (u32, impl Strategy) pairs where all strategies ultimately produce the same value. Each u32 indicates the relative weight of its corresponding strategy. You may use W<S> as an alias for (u32, S).

Using this constructor directly is discouraged; prefer to use prop_oneof! since it is generally clearer.

Trait Implementations

impl<T: Clone> Clone for TupleUnion<T>
[src]

[src]

Returns a copy of the value. Read more

1.0.0
[src]

Performs copy-assignment from source. Read more

impl<T: Copy> Copy for TupleUnion<T>
[src]

impl<T: Debug> Debug for TupleUnion<T>
[src]

[src]

Formats the value using the given formatter. Read more

impl<A: Strategy, B: Strategy> Strategy for TupleUnion<(W<A>, W<B>)> where
    B::Value: ValueTree<Value = ValueFor<A>>, 
[src]

The value tree generated by this Strategy. Read more

[src]

Generate a new value tree from the given runner. Read more

[src]

Returns a strategy which produces values transformed by the function fun. Read more

[src]

Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more

[src]

Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more

[src]

Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more

[src]

Returns a strategy which only produces values accepted by fun. Read more

[src]

Returns a strategy which picks uniformly from self and other. Read more

[src]

Generate a recursive structure with self items as leaves. Read more

[src]

Shuffle the contents of the values produced by this strategy. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Wraps this strategy to prevent values from being subject to shrinking. Read more

impl<A: Strategy, B: Strategy, C: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>)> where
    B::Value: ValueTree<Value = ValueFor<A>>,
    C::Value: ValueTree<Value = ValueFor<A>>, 
[src]

The value tree generated by this Strategy. Read more

[src]

Generate a new value tree from the given runner. Read more

[src]

Returns a strategy which produces values transformed by the function fun. Read more

[src]

Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more

[src]

Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more

[src]

Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more

[src]

Returns a strategy which only produces values accepted by fun. Read more

[src]

Returns a strategy which picks uniformly from self and other. Read more

[src]

Generate a recursive structure with self items as leaves. Read more

[src]

Shuffle the contents of the values produced by this strategy. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Wraps this strategy to prevent values from being subject to shrinking. Read more

impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>)> where
    B::Value: ValueTree<Value = ValueFor<A>>,
    C::Value: ValueTree<Value = ValueFor<A>>,
    D::Value: ValueTree<Value = ValueFor<A>>, 
[src]

The value tree generated by this Strategy. Read more

[src]

Generate a new value tree from the given runner. Read more

[src]

Returns a strategy which produces values transformed by the function fun. Read more

[src]

Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more

[src]

Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more

[src]

Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more

[src]

Returns a strategy which only produces values accepted by fun. Read more

[src]

Returns a strategy which picks uniformly from self and other. Read more

[src]

Generate a recursive structure with self items as leaves. Read more

[src]

Shuffle the contents of the values produced by this strategy. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Wraps this strategy to prevent values from being subject to shrinking. Read more

impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>)> where
    B::Value: ValueTree<Value = ValueFor<A>>,
    C::Value: ValueTree<Value = ValueFor<A>>,
    D::Value: ValueTree<Value = ValueFor<A>>,
    E::Value: ValueTree<Value = ValueFor<A>>, 
[src]

The value tree generated by this Strategy. Read more

[src]

Generate a new value tree from the given runner. Read more

[src]

Returns a strategy which produces values transformed by the function fun. Read more

[src]

Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more

[src]

Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more

[src]

Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more

[src]

Returns a strategy which only produces values accepted by fun. Read more

[src]

Returns a strategy which picks uniformly from self and other. Read more

[src]

Generate a recursive structure with self items as leaves. Read more

[src]

Shuffle the contents of the values produced by this strategy. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Wraps this strategy to prevent values from being subject to shrinking. Read more

impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy, F: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>, W<F>)> where
    B::Value: ValueTree<Value = ValueFor<A>>,
    C::Value: ValueTree<Value = ValueFor<A>>,
    D::Value: ValueTree<Value = ValueFor<A>>,
    E::Value: ValueTree<Value = ValueFor<A>>,
    F::Value: ValueTree<Value = ValueFor<A>>, 
[src]

The value tree generated by this Strategy. Read more

[src]

Generate a new value tree from the given runner. Read more

[src]

Returns a strategy which produces values transformed by the function fun. Read more

[src]

Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more

[src]

Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more

[src]

Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more

[src]

Returns a strategy which only produces values accepted by fun. Read more

[src]

Returns a strategy which picks uniformly from self and other. Read more

[src]

Generate a recursive structure with self items as leaves. Read more

[src]

Shuffle the contents of the values produced by this strategy. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Wraps this strategy to prevent values from being subject to shrinking. Read more

impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy, F: Strategy, G: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>, W<F>, W<G>)> where
    B::Value: ValueTree<Value = ValueFor<A>>,
    C::Value: ValueTree<Value = ValueFor<A>>,
    D::Value: ValueTree<Value = ValueFor<A>>,
    E::Value: ValueTree<Value = ValueFor<A>>,
    F::Value: ValueTree<Value = ValueFor<A>>,
    G::Value: ValueTree<Value = ValueFor<A>>, 
[src]

The value tree generated by this Strategy. Read more

[src]

Generate a new value tree from the given runner. Read more

[src]

Returns a strategy which produces values transformed by the function fun. Read more

[src]

Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more

[src]

Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more

[src]

Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more

[src]

Returns a strategy which only produces values accepted by fun. Read more

[src]

Returns a strategy which picks uniformly from self and other. Read more

[src]

Generate a recursive structure with self items as leaves. Read more

[src]

Shuffle the contents of the values produced by this strategy. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Wraps this strategy to prevent values from being subject to shrinking. Read more

impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy, F: Strategy, G: Strategy, H: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>, W<F>, W<G>, W<H>)> where
    B::Value: ValueTree<Value = ValueFor<A>>,
    C::Value: ValueTree<Value = ValueFor<A>>,
    D::Value: ValueTree<Value = ValueFor<A>>,
    E::Value: ValueTree<Value = ValueFor<A>>,
    F::Value: ValueTree<Value = ValueFor<A>>,
    G::Value: ValueTree<Value = ValueFor<A>>,
    H::Value: ValueTree<Value = ValueFor<A>>, 
[src]

The value tree generated by this Strategy. Read more

[src]

Generate a new value tree from the given runner. Read more

[src]

Returns a strategy which produces values transformed by the function fun. Read more

[src]

Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more

[src]

Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more

[src]

Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more

[src]

Returns a strategy which only produces values accepted by fun. Read more

[src]

Returns a strategy which picks uniformly from self and other. Read more

[src]

Generate a recursive structure with self items as leaves. Read more

[src]

Shuffle the contents of the values produced by this strategy. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Wraps this strategy to prevent values from being subject to shrinking. Read more

impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy, F: Strategy, G: Strategy, H: Strategy, I: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>, W<F>, W<G>, W<H>, W<I>)> where
    B::Value: ValueTree<Value = ValueFor<A>>,
    C::Value: ValueTree<Value = ValueFor<A>>,
    D::Value: ValueTree<Value = ValueFor<A>>,
    E::Value: ValueTree<Value = ValueFor<A>>,
    F::Value: ValueTree<Value = ValueFor<A>>,
    G::Value: ValueTree<Value = ValueFor<A>>,
    H::Value: ValueTree<Value = ValueFor<A>>,
    I::Value: ValueTree<Value = ValueFor<A>>, 
[src]

The value tree generated by this Strategy. Read more

[src]

Generate a new value tree from the given runner. Read more

[src]

Returns a strategy which produces values transformed by the function fun. Read more

[src]

Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more

[src]

Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more

[src]

Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more

[src]

Returns a strategy which only produces values accepted by fun. Read more

[src]

Returns a strategy which picks uniformly from self and other. Read more

[src]

Generate a recursive structure with self items as leaves. Read more

[src]

Shuffle the contents of the values produced by this strategy. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Wraps this strategy to prevent values from being subject to shrinking. Read more

impl<A: Strategy, B: Strategy, C: Strategy, D: Strategy, E: Strategy, F: Strategy, G: Strategy, H: Strategy, I: Strategy, J: Strategy> Strategy for TupleUnion<(W<A>, W<B>, W<C>, W<D>, W<E>, W<F>, W<G>, W<H>, W<I>, W<J>)> where
    B::Value: ValueTree<Value = ValueFor<A>>,
    C::Value: ValueTree<Value = ValueFor<A>>,
    D::Value: ValueTree<Value = ValueFor<A>>,
    E::Value: ValueTree<Value = ValueFor<A>>,
    F::Value: ValueTree<Value = ValueFor<A>>,
    G::Value: ValueTree<Value = ValueFor<A>>,
    H::Value: ValueTree<Value = ValueFor<A>>,
    I::Value: ValueTree<Value = ValueFor<A>>,
    J::Value: ValueTree<Value = ValueFor<A>>, 
[src]

The value tree generated by this Strategy. Read more

[src]

Generate a new value tree from the given runner. Read more

[src]

Returns a strategy which produces values transformed by the function fun. Read more

[src]

Returns a strategy which produces values of type O by transforming Self with Into<O>. Read more

[src]

Returns a strategy which produces values transformed by the function fun, which is additionally given a random number generator. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies. Read more

[src]

Maps values produced by this strategy into new strategies and picks values from those strategies while considering the new strategies to be independent. Read more

[src]

Similar to prop_ind_flat_map(), but produces 2-tuples with the input generated from self in slot 0 and the derived strategy in slot 1. Read more

[src]

Returns a strategy which only produces values accepted by fun. Read more

[src]

Returns a strategy which picks uniformly from self and other. Read more

[src]

Generate a recursive structure with self items as leaves. Read more

[src]

Shuffle the contents of the values produced by this strategy. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Erases the type of this Strategy so it can be passed around as a simple trait object. Read more

[src]

Wraps this strategy to prevent values from being subject to shrinking. Read more

Auto Trait Implementations

impl<T> Send for TupleUnion<T> where
    T: Send

impl<T> Sync for TupleUnion<T> where
    T: Sync