[][src]Trait proptest::arbitrary::functor::ArbitraryF1

pub trait ArbitraryF1<A: Debug>: Debug + Sized {
    type Parameters: Default;
    fn lift1_with<AS>(base: AS, args: Self::Parameters) -> BoxedStrategy<Self>
    where
        AS: Strategy<Value = A> + 'static
; fn lift1<AS>(base: AS) -> BoxedStrategy<Self>
    where
        AS: Strategy<Value = A> + 'static
, { ... } }

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

The type of parameters that lift1_with accepts for configuration of the lifted and generated Strategy. Parameters must implement Default.

Required Methods

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 of SomeType. The composite strategy is passed the arguments given in args.

If you wish to use the default() arguments, use lift1 instead.

Provided Methods

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]

impl<A: Debug + 'static> ArbitraryF1<A> for RefCell<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for UnsafeCell<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for Reverse<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for Once<A>
[src]

impl<A: Debug + 'static + Clone> ArbitraryF1<A> for Repeat<A>
[src]

impl<A: Debug + 'static + Iterator + Clone> ArbitraryF1<A> for Cycle<A>
[src]

impl<A: Debug + 'static + Iterator> ArbitraryF1<A> for Enumerate<A>
[src]

impl<A: Debug + 'static + Iterator> ArbitraryF1<A> for Fuse<A>
[src]

impl<A: Debug + 'static + Iterator<Item = T>, T: Debug> ArbitraryF1<A> for Peekable<A>
[src]

impl<A: Debug + 'static + DoubleEndedIterator> ArbitraryF1<A> for Rev<A>
[src]

impl<'a, T: 'static + Clone, A: Debug + 'static + Iterator<Item = &'a T>> ArbitraryF1<A> for Cloned<A>
[src]

impl<A: Debug + Debug + 'static + Iterator, B: 'static + Arbitrary + Iterator> ArbitraryF1<A> for Zip<B, A>
[src]

impl<A: Debug + Debug + 'static + Iterator<Item = T>, B: 'static + Arbitrary + Iterator<Item = T>, T> ArbitraryF1<A> for Chain<B, A>
[src]

impl<A: Debug + Iterator> ArbitraryF1<A> for Skip<A>
[src]

impl<A: Debug + Iterator> ArbitraryF1<A> for Take<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for Discriminant<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for Wrapping<A>
[src]

impl<A: Debug> ArbitraryF1<A> for Option<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for IntoIter<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for Result<A, ParseError>
[src]

impl<A: Debug, E: Arbitrary> ArbitraryF1<A> for Result<A, E> where
    E::Strategy: 'static, 
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for IntoIter<A>
[src]

impl<A: Debug + Borrow<B> + 'static, B: ToOwned<Owned = A> + Debug> ArbitraryF1<A> for Cow<'static, B>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for Box<A>
[src]

impl<A: Debug> ArbitraryF1<A> for Vec<A>
[src]

impl<A: Debug> ArbitraryF1<A> for VecDeque<A>
[src]

impl<A: Debug> ArbitraryF1<A> for LinkedList<A>
[src]

impl<A: Debug + Ord> ArbitraryF1<A> for BTreeSet<A>
[src]

impl<A: Debug + Ord> ArbitraryF1<A> for BinaryHeap<A>
[src]

impl<A: Debug + Hash + Eq> ArbitraryF1<A> for HashSet<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for IntoIter<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for IntoIter<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for IntoIter<A>
[src]

impl<A: Debug + 'static + Ord> ArbitraryF1<A> for IntoIter<A>
[src]

impl<A: Debug + 'static + Ord> ArbitraryF1<A> for IntoIter<A>
[src]

impl<A: Debug + 'static + Hash + Eq> ArbitraryF1<A> for IntoIter<A>
[src]

impl<A: Debug, K: Hash + Eq + Arbitrary + 'static> ArbitraryF1<A> for HashMap<K, A>
[src]

impl<A: Debug + 'static, K: Hash + Eq + Arbitrary + 'static> ArbitraryF1<A> for IntoIter<K, A>
[src]

impl<A: Debug, K: Ord + Arbitrary + 'static> ArbitraryF1<A> for BTreeMap<K, A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for Bound<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for RangeFrom<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for RangeTo<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for RangeToInclusive<A>
[src]

impl<A: Debug + PartialOrd> ArbitraryF1<A> for RangeInclusive<A>
[src]

impl<A: Debug + PartialOrd> ArbitraryF1<A> for Range<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for Rc<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for Arc<A>
[src]

impl<A: Debug + Read> ArbitraryF1<A> for BufReader<A>
[src]

impl<A: Debug + Write> ArbitraryF1<A> for BufWriter<A>
[src]

impl<A: Debug + Write> ArbitraryF1<A> for LineWriter<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for Cursor<A>
[src]

impl<A: Debug + 'static + BufRead> ArbitraryF1<A> for Lines<A>
[src]

impl<A: Debug + 'static + BufRead> ArbitraryF1<A> for Split<A>
[src]

impl<A: Debug + 'static + Read> ArbitraryF1<A> for Take<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for AssertUnwindSafe<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for Mutex<A>
[src]

impl<A: Debug + 'static> ArbitraryF1<A> for RwLock<A>
[src]

Implementors