[][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

type Parameters: Default

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

Loading content...

Required methods

fn lift1_with<AS>(base: AS, args: Self::Parameters) -> BoxedStrategy<Self> where
    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 of SomeType. The composite strategy is passed the arguments given in args.

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

Loading content...

Provided methods

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    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.

Loading content...

Implementations on Foreign Types

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = B::Parameters

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

impl<A: Debug + 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<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = Probability

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = Probability

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = (Probability, E::Parameters)

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = Probability

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = SizeRange

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = (SizeRange, K::Parameters)

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = (SizeRange, K::Parameters)

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = (SizeRange, K::Parameters)

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

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

type Parameters = ()

fn lift1<AS>(base: AS) -> BoxedStrategy<Self> where
    AS: Strategy<Value = A> + 'static, 
[src]

Loading content...

Implementors

Loading content...