Arbitrary

Trait Arbitrary 

Source
pub trait Arbitrary<'a>: Sized + Debug {
    type Parameters: Default;
    type Strategy: Strategy<Value = Self::ValueTree>;
    type ValueTree: ValueTree<Value = Self>;

    // Required method
    fn arbitrary_with(args: Self::Parameters) -> Self::Strategy;

    // Provided method
    fn arbitrary() -> Self::Strategy { ... }
}
Expand description

Arbitrary determines a canonical Strategy for the implementing type.

It provides the function arbitrary which generates a Strategy for producing arbitrary values of the implementing type (Self).

This trait is the equivalent of Haskell QuickCheck’s implementation of Arbitrary. In this interpretation of Arbitray, Strategy is the equivalent of the Gen monad.

Arbitrary currently only works for types which represent owned data as opposed to borrowed data. This is a fundamental restriction of proptest which may be lifted in the future as the generic associated types (GAT) feature of Rust is implemented and stabilized.

Required Associated Types§

Source

type Parameters: Default

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

Source

type Strategy: Strategy<Value = Self::ValueTree>

The type of Strategy used to generate values of type Self.

Source

type ValueTree: ValueTree<Value = Self>

The type of ValueTree used for Self’s Strategy.

NOTE: This type should NOT be relied upon outside of this crate other than for implementing Arbitrary for other types.

Required Methods§

Source

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Generates a Strategy for producing arbitrary values of type the implementing type (Self). The strategy is passed the arguments given in args.

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

Provided Methods§

Source

fn arbitrary() -> Self::Strategy

Generates a Strategy for producing arbitrary values of type the implementing type (Self).

Calling this for the type X is the equivalent of using X::arbitrary_with(Default::default()).

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl<'a> Arbitrary<'a> for Ordering

Source§

impl<'a> Arbitrary<'a> for FromBytesWithNulError

Source§

impl<'a> Arbitrary<'a> for IpAddr

Source§

impl<'a> Arbitrary<'a> for SocketAddr

Source§

impl<'a> Arbitrary<'a> for FpCategory

Source§

impl<'a> Arbitrary<'a> for Ordering

Source§

impl<'a> Arbitrary<'a> for VarError

Source§

type ValueTree = <<VarError as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = ()

Source§

type Strategy = TupleUnion<((u32, Just<VarError>), (u32, Map<Box<dyn Strategy<Value = Box<dyn ValueTree<Value = OsString>>>>, SFnMap<<<Box<dyn Strategy<Value = Box<dyn ValueTree<Value = OsString>>>> as Strategy>::Value as ValueTree>::Value, VarError>>))>

Source§

fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy

Source§

impl<'a> Arbitrary<'a> for SeekFrom

Source§

type ValueTree = <<SeekFrom as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = ()

Source§

type Strategy = TupleUnion<((u32, Map<<u64 as Arbitrary<'a>>::Strategy, SFnMap<u64, SeekFrom>>), (u32, Map<<i64 as Arbitrary<'a>>::Strategy, SFnMap<i64, SeekFrom>>), (u32, Map<<i64 as Arbitrary<'a>>::Strategy, SFnMap<i64, SeekFrom>>))>

Source§

fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy

Source§

impl<'a> Arbitrary<'a> for ErrorKind

Source§

impl<'a> Arbitrary<'a> for Shutdown

Source§

impl<'a> Arbitrary<'a> for RecvTimeoutError

Source§

impl<'a> Arbitrary<'a> for TryRecvError

Source§

impl<'a> Arbitrary<'a> for bool

Source§

impl<'a> Arbitrary<'a> for char

Source§

impl<'a> Arbitrary<'a> for f32

Source§

impl<'a> Arbitrary<'a> for f64

Source§

impl<'a> Arbitrary<'a> for i8

Source§

impl<'a> Arbitrary<'a> for i16

Source§

impl<'a> Arbitrary<'a> for i32

Source§

impl<'a> Arbitrary<'a> for i64

Source§

impl<'a> Arbitrary<'a> for isize

Source§

impl<'a> Arbitrary<'a> for u8

Source§

impl<'a> Arbitrary<'a> for u16

Source§

impl<'a> Arbitrary<'a> for u32

Source§

impl<'a> Arbitrary<'a> for u64

Source§

impl<'a> Arbitrary<'a> for ()

Source§

impl<'a> Arbitrary<'a> for usize

Source§

impl<'a> Arbitrary<'a> for Box<str>

Source§

impl<'a> Arbitrary<'a> for Box<CStr>

Source§

impl<'a> Arbitrary<'a> for Box<OsStr>

Source§

impl<'a> Arbitrary<'a> for CString

Source§

impl<'a> Arbitrary<'a> for IntoStringError

Source§

type ValueTree = <<IntoStringError as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = ()

Source§

type Strategy = Map<Box<dyn Strategy<Value = Box<dyn ValueTree<Value = Vec<u8>>>>>, SFnMap<<<Box<dyn Strategy<Value = Box<dyn ValueTree<Value = Vec<u8>>>>> as Strategy>::Value as ValueTree>::Value, IntoStringError>>

Source§

fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy

Source§

impl<'a> Arbitrary<'a> for Rc<str>

Source§

impl<'a> Arbitrary<'a> for Rc<CStr>

Source§

impl<'a> Arbitrary<'a> for Rc<OsStr>

Source§

impl<'a> Arbitrary<'a> for FromUtf8Error

Source§

type ValueTree = <<FromUtf8Error as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = ()

Source§

type Strategy = Map<Box<dyn Strategy<Value = Box<dyn ValueTree<Value = Vec<u8>>>>>, SFnMap<<<Box<dyn Strategy<Value = Box<dyn ValueTree<Value = Vec<u8>>>>> as Strategy>::Value as ValueTree>::Value, FromUtf8Error>>

Source§

fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy

Source§

impl<'a> Arbitrary<'a> for FromUtf16Error

Source§

impl<'a> Arbitrary<'a> for String

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

§Safety

This implementation panics if the input is not a valid regex proptest can handle.

Source§

type ValueTree = <<String as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = StringParam<'a>

Source§

type Strategy = &'a str

Source§

impl<'a> Arbitrary<'a> for Arc<str>

Source§

impl<'a> Arbitrary<'a> for Arc<CStr>

Source§

impl<'a> Arbitrary<'a> for Arc<OsStr>

Source§

impl<'a> Arbitrary<'a> for EscapeDefault

Source§

impl<'a> Arbitrary<'a> for BorrowError

Source§

impl<'a> Arbitrary<'a> for BorrowMutError

Source§

impl<'a> Arbitrary<'a> for ParseCharError

Source§

impl<'a> Arbitrary<'a> for DecodeUtf16<<Vec<u16> as IntoIterator>::IntoIter>

Source§

impl<'a> Arbitrary<'a> for DecodeUtf16Error

Source§

impl<'a> Arbitrary<'a> for EscapeDebug

Source§

impl<'a> Arbitrary<'a> for EscapeDefault

Source§

impl<'a> Arbitrary<'a> for EscapeUnicode

Source§

impl<'a> Arbitrary<'a> for ToLowercase

Source§

impl<'a> Arbitrary<'a> for ToUppercase

Source§

impl<'a> Arbitrary<'a> for Error

Source§

impl<'a> Arbitrary<'a> for Ipv4Addr

Source§

impl<'a> Arbitrary<'a> for Ipv6Addr

Source§

impl<'a> Arbitrary<'a> for AddrParseError

Source§

impl<'a> Arbitrary<'a> for SocketAddrV4

Source§

impl<'a> Arbitrary<'a> for SocketAddrV6

Source§

impl<'a> Arbitrary<'a> for ParseFloatError

Source§

impl<'a> Arbitrary<'a> for ParseIntError

Source§

impl<'a> Arbitrary<'a> for RangeFull

Source§

impl<'a> Arbitrary<'a> for ParseBoolError

Source§

impl<'a> Arbitrary<'a> for Utf8Error

Source§

type ValueTree = <<Utf8Error as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = ()

Source§

type Strategy = Map<(<u16 as Arbitrary<'a>>::Strategy, TupleUnion<((u32, Just<&'static [u8]>), (u32, Just<&'static [u8]>), (u32, Just<&'static [u8]>), (u32, Just<&'static [u8]>))>), SFnMap<<<(<u16 as Arbitrary<'a>>::Strategy, TupleUnion<((u32, Just<&'static [u8]>), (u32, Just<&'static [u8]>), (u32, Just<&'static [u8]>), (u32, Just<&'static [u8]>))>) as Strategy>::Value as ValueTree>::Value, Utf8Error>>

Source§

fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy

Source§

impl<'a> Arbitrary<'a> for AtomicBool

Source§

impl<'a> Arbitrary<'a> for AtomicIsize

Source§

impl<'a> Arbitrary<'a> for AtomicUsize

Source§

impl<'a> Arbitrary<'a> for Duration

Source§

impl<'a> Arbitrary<'a> for Args

Source§

impl<'a> Arbitrary<'a> for ArgsOs

Source§

impl<'a> Arbitrary<'a> for JoinPathsError

Source§

impl<'a> Arbitrary<'a> for Vars

Source§

impl<'a> Arbitrary<'a> for VarsOs

Source§

impl<'a> Arbitrary<'a> for OsString

Source§

impl<'a> Arbitrary<'a> for DirBuilder

Source§

impl<'a> Arbitrary<'a> for DefaultHasher

Source§

impl<'a> Arbitrary<'a> for RandomState

Source§

impl<'a> Arbitrary<'a> for Error

Source§

impl<'a> Arbitrary<'a> for Stderr

Source§

impl<'a> Arbitrary<'a> for Stdin

Source§

impl<'a> Arbitrary<'a> for Stdout

Source§

impl<'a> Arbitrary<'a> for Empty

Source§

impl<'a> Arbitrary<'a> for Repeat

Source§

impl<'a> Arbitrary<'a> for Sink

Source§

impl<'a> Arbitrary<'a> for StripPrefixError

Source§

impl<'a> Arbitrary<'a> for Barrier

Source§

impl<'a> Arbitrary<'a> for BarrierWaitResult

Source§

impl<'a> Arbitrary<'a> for RecvError

Source§

impl<'a> Arbitrary<'a> for Once

Source§

impl<'a> Arbitrary<'a> for Condvar

Source§

impl<'a> Arbitrary<'a> for WaitTimeoutResult

Source§

impl<'a> Arbitrary<'a> for Builder

Source§

impl<'a> Arbitrary<'a> for Instant

Source§

impl<'a> Arbitrary<'a> for SystemTime

Source§

impl<'a, A> Arbitrary<'a> for (Sender<A>, Receiver<A>)

Source§

impl<'a, A> Arbitrary<'a> for (SyncSender<A>, Receiver<A>)

Source§

impl<'a, A> Arbitrary<'a> for Empty<A>

Source§

impl<'a, A, B> Arbitrary<'a> for BTreeMap<A, B>
where A: Arbitrary<'static> + Ord, B: Arbitrary<'static>, StrategyFor<A>: 'static, StrategyFor<B>: 'static,

Source§

type ValueTree = <<BTreeMap<A, B> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = HCons<SizeBounds, HCons<<A as Arbitrary<'static>>::Parameters, HCons<<B as Arbitrary<'static>>::Parameters, HNil>>>

Source§

type Strategy = BTreeMapStrategy<<A as Arbitrary<'static>>::Strategy, <B as Arbitrary<'static>>::Strategy>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A, B> Arbitrary<'a> for IntoIter<A, B>
where A: Arbitrary<'static> + Ord, B: Arbitrary<'static>, StrategyFor<A>: 'static, StrategyFor<B>: 'static,

Source§

type ValueTree = <<IntoIter<A, B> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <BTreeMap<A, B> as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<BTreeMap<A, B> as Arbitrary<'a>>::Strategy, SFnMap<BTreeMap<A, B>, IntoIter<A, B>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: PartialOrd + Arbitrary<'a>> Arbitrary<'a> for Range<A>

Source§

impl<'a, A: Debug> Arbitrary<'a> for (Sender<A>, IntoIter<A>)

Source§

impl<'a, A: Debug> Arbitrary<'a> for (SyncSender<A>, IntoIter<A>)

Source§

impl<'a, A: BufRead + Arbitrary<'a>> Arbitrary<'a> for Split<A>

Source§

type ValueTree = <<Split<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<(A, u8) as Arbitrary<'a>>::Strategy, SFnMap<(A, u8), Split<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Read + Arbitrary<'a>> Arbitrary<'a> for Take<A>

Source§

type ValueTree = <<Take<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<(A, u64) as Arbitrary<'a>>::Strategy, SFnMap<(A, u64), Take<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Read + Arbitrary<'a>, B: Read + Arbitrary<'a>> Arbitrary<'a> for Chain<A, B>

Source§

impl<'a, A: Arbitrary<'a> + Clone> Arbitrary<'a> for Bound<A>
where ParamsType<'a, A>: Clone,

Source§

type ValueTree = <<Bound<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = TupleUnion<((u32, Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Bound<A>>>), (u32, Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Bound<A>>>), (u32, Just<Bound<A>>))>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + Clone> Arbitrary<'a> for Repeat<A>

Source§

type ValueTree = <<Repeat<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Repeat<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + Ord> Arbitrary<'a> for BinaryHeap<A>

Source§

impl<'a, A: Arbitrary<'a> + Ord> Arbitrary<'a> for IntoIter<A>

Source§

impl<'a, A: Arbitrary<'a> + Ord> Arbitrary<'a> for BTreeSet<A>

Source§

impl<'a, A: Arbitrary<'a> + Ord> Arbitrary<'a> for IntoIter<A>

Source§

impl<'a, A: Arbitrary<'a> + Hash + Eq> Arbitrary<'a> for HashSet<A>

Source§

impl<'a, A: Arbitrary<'a> + Hash + Eq> Arbitrary<'a> for IntoIter<A>

Source§

impl<'a, A: Arbitrary<'a> + Hash + Eq, B: Arbitrary<'a>> Arbitrary<'a> for HashMap<A, B>

Source§

impl<'a, A: Arbitrary<'a> + Hash + Eq, B: Arbitrary<'a>> Arbitrary<'a> for IntoIter<A, B>

Source§

type ValueTree = <<IntoIter<A, B> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <HashMap<A, B> as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<HashMap<A, B> as Arbitrary<'a>>::Strategy, SFnMap<HashMap<A, B>, IntoIter<A, B>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + DoubleEndedIterator> Arbitrary<'a> for Rev<A>

Source§

type ValueTree = <<Rev<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Rev<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + Iterator + Clone> Arbitrary<'a> for Cycle<A>

Source§

type ValueTree = <<Cycle<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Cycle<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + Iterator> Arbitrary<'a> for Enumerate<A>

Source§

impl<'a, A: Arbitrary<'a> + Iterator> Arbitrary<'a> for Fuse<A>

Source§

type ValueTree = <<Fuse<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Fuse<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + Iterator> Arbitrary<'a> for Skip<A>

Source§

type ValueTree = <<Skip<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<(A, usize) as Arbitrary<'a>>::Strategy, SFnMap<(A, usize), Skip<A>>>

Source§

fn arbitrary_with(a: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + Iterator> Arbitrary<'a> for Take<A>

Source§

type ValueTree = <<Take<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<(A, usize) as Arbitrary<'a>>::Strategy, SFnMap<(A, usize), Take<A>>>

Source§

fn arbitrary_with(a: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + Iterator<Item = &'a T>, T: 'a + Clone> Arbitrary<'a> for Cloned<A>

Source§

type ValueTree = <<Cloned<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Cloned<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + Iterator<Item = T>, T: Debug> Arbitrary<'a> for Peekable<A>

Source§

type ValueTree = <<Peekable<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Peekable<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + Iterator, B: Arbitrary<'a> + Iterator> Arbitrary<'a> for Zip<A, B>

Source§

type ValueTree = <<Zip<A, B> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = HCons<<A as Arbitrary<'a>>::Parameters, HCons<<B as Arbitrary<'a>>::Parameters, HNil>>

Source§

type Strategy = Map<<(A, B) as Arbitrary<'a>>::Strategy, SFnMap<(A, B), Zip<A, B>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + Copy> Arbitrary<'a> for Cell<A>

Source§

type ValueTree = <<Cell<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, FromMapper<<<<A as Arbitrary<'a>>::Strategy as Strategy>::Value as ValueTree>::Value, Cell<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + BufRead> Arbitrary<'a> for Lines<A>

Source§

type ValueTree = <<Lines<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Lines<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a> + Read> Arbitrary<'a> for BufReader<A>

Source§

impl<'a, A: Arbitrary<'a> + Write> Arbitrary<'a> for BufWriter<A>

Source§

impl<'a, A: Arbitrary<'a> + Write> Arbitrary<'a> for LineWriter<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Option<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 1]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 2]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 3]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 4]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 5]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 6]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 7]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 8]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 9]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 10]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 11]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 12]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 13]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 14]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 15]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 16]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 17]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 18]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 19]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 20]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 21]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 22]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 23]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 24]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 25]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 26]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 27]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 28]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 29]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 30]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 31]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for [A; 32]

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Box<[A]>

Source§

type ValueTree = <<Box<[A]> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <Vec<A> as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<Vec<A> as Arbitrary<'a>>::Strategy, FromMapper<<<<Vec<A> as Arbitrary<'a>>::Strategy as Strategy>::Value as ValueTree>::Value, Box<[A]>>>

Source§

fn arbitrary_with(a: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Box<A>

Source§

type ValueTree = <<Box<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, FromMapper<<<<A as Arbitrary<'a>>::Strategy as Strategy>::Value as ValueTree>::Value, Box<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for IntoIter<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for LinkedList<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for IntoIter<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for VecDeque<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Rc<[A]>

Source§

type ValueTree = <<Rc<[A]> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <Vec<A> as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<Vec<A> as Arbitrary<'a>>::Strategy, FromMapper<<<<Vec<A> as Arbitrary<'a>>::Strategy as Strategy>::Value as ValueTree>::Value, Rc<[A]>>>

Source§

fn arbitrary_with(a: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Rc<A>

Source§

type ValueTree = <<Rc<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, FromMapper<<<<A as Arbitrary<'a>>::Strategy as Strategy>::Value as ValueTree>::Value, Rc<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Arc<[A]>

Source§

type ValueTree = <<Arc<[A]> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <Vec<A> as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<Vec<A> as Arbitrary<'a>>::Strategy, FromMapper<<<<Vec<A> as Arbitrary<'a>>::Strategy as Strategy>::Value as ValueTree>::Value, Arc<[A]>>>

Source§

fn arbitrary_with(a: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Arc<A>

Source§

type ValueTree = <<Arc<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, FromMapper<<<<A as Arbitrary<'a>>::Strategy as Strategy>::Value as ValueTree>::Value, Arc<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for IntoIter<A>

Source§

type ValueTree = <<IntoIter<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <Vec<A> as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<Vec<A> as Arbitrary<'a>>::Strategy, SFnMap<Vec<A>, IntoIter<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Vec<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for RefCell<A>

Source§

type ValueTree = <<RefCell<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, FromMapper<<<<A as Arbitrary<'a>>::Strategy as Strategy>::Value as ValueTree>::Value, RefCell<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for UnsafeCell<A>

Source§

type ValueTree = <<UnsafeCell<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, FromMapper<<<<A as Arbitrary<'a>>::Strategy as Strategy>::Value as ValueTree>::Value, UnsafeCell<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Reverse<A>

Source§

type ValueTree = <<Reverse<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Reverse<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Once<A>

Source§

type ValueTree = <<Once<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Once<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for ManuallyDrop<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Discriminant<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Wrapping<A>

Source§

type ValueTree = <<Wrapping<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Wrapping<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for RangeFrom<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for RangeTo<A>

Source§

type ValueTree = <<RangeTo<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, RangeTo<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for IntoIter<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for AssertUnwindSafe<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for IntoIter<A>

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Cursor<A>

Source§

type ValueTree = <<Cursor<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, SFnMap<A, Cursor<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for Mutex<A>

Source§

type ValueTree = <<Mutex<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, FromMapper<<<<A as Arbitrary<'a>>::Strategy as Strategy>::Value as ValueTree>::Value, Mutex<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>> Arbitrary<'a> for RwLock<A>

Source§

type ValueTree = <<RwLock<A> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = <A as Arbitrary<'a>>::Parameters

Source§

type Strategy = Map<<A as Arbitrary<'a>>::Strategy, FromMapper<<<<A as Arbitrary<'a>>::Strategy as Strategy>::Value as ValueTree>::Value, RwLock<A>>>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, A: Arbitrary<'a>, B: Arbitrary<'a>> Arbitrary<'a> for Result<A, B>

Source§

impl<'a, H: Default + Hasher> Arbitrary<'a> for BuildHasherDefault<H>

Source§

impl<'a, P: Clone + Default, T: Arbitrary<'a, Parameters = P>> Arbitrary<'a> for TrySendError<T>

Source§

type ValueTree = <<TrySendError<T> as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = P

Source§

type Strategy = TupleUnion<((u32, Map<<T as Arbitrary<'a>>::Strategy, SFnMap<T, TrySendError<T>>>), (u32, Map<<T as Arbitrary<'a>>::Strategy, SFnMap<T, TrySendError<T>>>))>

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, T0: Arbitrary<'a>> Arbitrary<'a> for (T0,)

Source§

impl<'a, T0: Arbitrary<'a>, T1: Arbitrary<'a>> Arbitrary<'a> for (T0, T1)

Source§

impl<'a, T0: Arbitrary<'a>, T1: Arbitrary<'a>, T2: Arbitrary<'a>> Arbitrary<'a> for (T0, T1, T2)

Source§

impl<'a, T0: Arbitrary<'a>, T1: Arbitrary<'a>, T2: Arbitrary<'a>, T3: Arbitrary<'a>> Arbitrary<'a> for (T0, T1, T2, T3)

Source§

type ValueTree = <<(T0, T1, T2, T3) as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = HCons<<T0 as Arbitrary<'a>>::Parameters, HCons<<T1 as Arbitrary<'a>>::Parameters, HCons<<T2 as Arbitrary<'a>>::Parameters, HCons<<T3 as Arbitrary<'a>>::Parameters, HNil>>>>

Source§

type Strategy = (<T0 as Arbitrary<'a>>::Strategy, <T1 as Arbitrary<'a>>::Strategy, <T2 as Arbitrary<'a>>::Strategy, <T3 as Arbitrary<'a>>::Strategy)

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, T0: Arbitrary<'a>, T1: Arbitrary<'a>, T2: Arbitrary<'a>, T3: Arbitrary<'a>, T4: Arbitrary<'a>> Arbitrary<'a> for (T0, T1, T2, T3, T4)

Source§

type ValueTree = <<(T0, T1, T2, T3, T4) as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = HCons<<T0 as Arbitrary<'a>>::Parameters, HCons<<T1 as Arbitrary<'a>>::Parameters, HCons<<T2 as Arbitrary<'a>>::Parameters, HCons<<T3 as Arbitrary<'a>>::Parameters, HCons<<T4 as Arbitrary<'a>>::Parameters, HNil>>>>>

Source§

type Strategy = (<T0 as Arbitrary<'a>>::Strategy, <T1 as Arbitrary<'a>>::Strategy, <T2 as Arbitrary<'a>>::Strategy, <T3 as Arbitrary<'a>>::Strategy, <T4 as Arbitrary<'a>>::Strategy)

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, T0: Arbitrary<'a>, T1: Arbitrary<'a>, T2: Arbitrary<'a>, T3: Arbitrary<'a>, T4: Arbitrary<'a>, T5: Arbitrary<'a>> Arbitrary<'a> for (T0, T1, T2, T3, T4, T5)

Source§

type ValueTree = <<(T0, T1, T2, T3, T4, T5) as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = HCons<<T0 as Arbitrary<'a>>::Parameters, HCons<<T1 as Arbitrary<'a>>::Parameters, HCons<<T2 as Arbitrary<'a>>::Parameters, HCons<<T3 as Arbitrary<'a>>::Parameters, HCons<<T4 as Arbitrary<'a>>::Parameters, HCons<<T5 as Arbitrary<'a>>::Parameters, HNil>>>>>>

Source§

type Strategy = (<T0 as Arbitrary<'a>>::Strategy, <T1 as Arbitrary<'a>>::Strategy, <T2 as Arbitrary<'a>>::Strategy, <T3 as Arbitrary<'a>>::Strategy, <T4 as Arbitrary<'a>>::Strategy, <T5 as Arbitrary<'a>>::Strategy)

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, T0: Arbitrary<'a>, T1: Arbitrary<'a>, T2: Arbitrary<'a>, T3: Arbitrary<'a>, T4: Arbitrary<'a>, T5: Arbitrary<'a>, T6: Arbitrary<'a>> Arbitrary<'a> for (T0, T1, T2, T3, T4, T5, T6)

Source§

type ValueTree = <<(T0, T1, T2, T3, T4, T5, T6) as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = HCons<<T0 as Arbitrary<'a>>::Parameters, HCons<<T1 as Arbitrary<'a>>::Parameters, HCons<<T2 as Arbitrary<'a>>::Parameters, HCons<<T3 as Arbitrary<'a>>::Parameters, HCons<<T4 as Arbitrary<'a>>::Parameters, HCons<<T5 as Arbitrary<'a>>::Parameters, HCons<<T6 as Arbitrary<'a>>::Parameters, HNil>>>>>>>

Source§

type Strategy = (<T0 as Arbitrary<'a>>::Strategy, <T1 as Arbitrary<'a>>::Strategy, <T2 as Arbitrary<'a>>::Strategy, <T3 as Arbitrary<'a>>::Strategy, <T4 as Arbitrary<'a>>::Strategy, <T5 as Arbitrary<'a>>::Strategy, <T6 as Arbitrary<'a>>::Strategy)

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, T0: Arbitrary<'a>, T1: Arbitrary<'a>, T2: Arbitrary<'a>, T3: Arbitrary<'a>, T4: Arbitrary<'a>, T5: Arbitrary<'a>, T6: Arbitrary<'a>, T7: Arbitrary<'a>> Arbitrary<'a> for (T0, T1, T2, T3, T4, T5, T6, T7)

Source§

type ValueTree = <<(T0, T1, T2, T3, T4, T5, T6, T7) as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = HCons<<T0 as Arbitrary<'a>>::Parameters, HCons<<T1 as Arbitrary<'a>>::Parameters, HCons<<T2 as Arbitrary<'a>>::Parameters, HCons<<T3 as Arbitrary<'a>>::Parameters, HCons<<T4 as Arbitrary<'a>>::Parameters, HCons<<T5 as Arbitrary<'a>>::Parameters, HCons<<T6 as Arbitrary<'a>>::Parameters, HCons<<T7 as Arbitrary<'a>>::Parameters, HNil>>>>>>>>

Source§

type Strategy = (<T0 as Arbitrary<'a>>::Strategy, <T1 as Arbitrary<'a>>::Strategy, <T2 as Arbitrary<'a>>::Strategy, <T3 as Arbitrary<'a>>::Strategy, <T4 as Arbitrary<'a>>::Strategy, <T5 as Arbitrary<'a>>::Strategy, <T6 as Arbitrary<'a>>::Strategy, <T7 as Arbitrary<'a>>::Strategy)

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, T0: Arbitrary<'a>, T1: Arbitrary<'a>, T2: Arbitrary<'a>, T3: Arbitrary<'a>, T4: Arbitrary<'a>, T5: Arbitrary<'a>, T6: Arbitrary<'a>, T7: Arbitrary<'a>, T8: Arbitrary<'a>> Arbitrary<'a> for (T0, T1, T2, T3, T4, T5, T6, T7, T8)

Source§

type ValueTree = <<(T0, T1, T2, T3, T4, T5, T6, T7, T8) as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = HCons<<T0 as Arbitrary<'a>>::Parameters, HCons<<T1 as Arbitrary<'a>>::Parameters, HCons<<T2 as Arbitrary<'a>>::Parameters, HCons<<T3 as Arbitrary<'a>>::Parameters, HCons<<T4 as Arbitrary<'a>>::Parameters, HCons<<T5 as Arbitrary<'a>>::Parameters, HCons<<T6 as Arbitrary<'a>>::Parameters, HCons<<T7 as Arbitrary<'a>>::Parameters, HCons<<T8 as Arbitrary<'a>>::Parameters, HNil>>>>>>>>>

Source§

type Strategy = (<T0 as Arbitrary<'a>>::Strategy, <T1 as Arbitrary<'a>>::Strategy, <T2 as Arbitrary<'a>>::Strategy, <T3 as Arbitrary<'a>>::Strategy, <T4 as Arbitrary<'a>>::Strategy, <T5 as Arbitrary<'a>>::Strategy, <T6 as Arbitrary<'a>>::Strategy, <T7 as Arbitrary<'a>>::Strategy, <T8 as Arbitrary<'a>>::Strategy)

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, T0: Arbitrary<'a>, T1: Arbitrary<'a>, T2: Arbitrary<'a>, T3: Arbitrary<'a>, T4: Arbitrary<'a>, T5: Arbitrary<'a>, T6: Arbitrary<'a>, T7: Arbitrary<'a>, T8: Arbitrary<'a>, T9: Arbitrary<'a>> Arbitrary<'a> for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)

Source§

type ValueTree = <<(T0, T1, T2, T3, T4, T5, T6, T7, T8, T9) as Arbitrary<'a>>::Strategy as Strategy>::Value

Source§

type Parameters = HCons<<T0 as Arbitrary<'a>>::Parameters, HCons<<T1 as Arbitrary<'a>>::Parameters, HCons<<T2 as Arbitrary<'a>>::Parameters, HCons<<T3 as Arbitrary<'a>>::Parameters, HCons<<T4 as Arbitrary<'a>>::Parameters, HCons<<T5 as Arbitrary<'a>>::Parameters, HCons<<T6 as Arbitrary<'a>>::Parameters, HCons<<T7 as Arbitrary<'a>>::Parameters, HCons<<T8 as Arbitrary<'a>>::Parameters, HCons<<T9 as Arbitrary<'a>>::Parameters, HNil>>>>>>>>>>

Source§

type Strategy = (<T0 as Arbitrary<'a>>::Strategy, <T1 as Arbitrary<'a>>::Strategy, <T2 as Arbitrary<'a>>::Strategy, <T3 as Arbitrary<'a>>::Strategy, <T4 as Arbitrary<'a>>::Strategy, <T5 as Arbitrary<'a>>::Strategy, <T6 as Arbitrary<'a>>::Strategy, <T7 as Arbitrary<'a>>::Strategy, <T8 as Arbitrary<'a>>::Strategy, <T9 as Arbitrary<'a>>::Strategy)

Source§

fn arbitrary_with(args: Self::Parameters) -> Self::Strategy

Source§

impl<'a, T, A: Arbitrary<'a> + Iterator<Item = T>, B: Arbitrary<'a> + Iterator<Item = T>> Arbitrary<'a> for Chain<A, B>

Source§

impl<'a, T: Arbitrary<'a>> Arbitrary<'a> for SendError<T>

Source§

impl<'a, T: ?Sized> Arbitrary<'a> for PhantomData<T>

Implementors§