pub trait Arbitrary: Sized + Debug {
type Parameters: Default;
type Strategy: Strategy<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 method arbitrary_with which generates a Strategy for
producing arbitrary values of the implementing type (Self). In general,
these strategies will produce the entire set of values possible for the
type, up to some size limitation or constraints set by their parameters.
When this is not desired, strategies to produce the desired values can be
built by combining Strategys as described in the crate documentation.
This trait analogous to
Haskell QuickCheck’s implementation of Arbitrary.
In this interpretation of Arbitrary, Strategy is the equivalent of
the Gen monad. Unlike in QuickCheck, Arbitrary is not a core component;
types do not need to implement Arbitrary unless one wants to use
any or other free functions in this module.
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.
If you do not have unique constraints on how to generate the data for your custom types, consider using the derive macro to implement Arbitrary
Required Associated Types§
Sourcetype Parameters: Default
type Parameters: Default
The type of parameters that arbitrary_with accepts for configuration
of the generated Strategy. Parameters must implement Default.
Required Methods§
Sourcefn arbitrary_with(args: Self::Parameters) -> Self::Strategy
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Provided Methods§
Sourcefn arbitrary() -> Self::Strategy
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()).
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.
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 Arbitrary for FromBytesWithNulError
Available on crate feature std only.
impl Arbitrary for FromBytesWithNulError
std only.Source§impl Arbitrary for Ipv6MulticastScope
Available on crate feature std only.
impl Arbitrary for Ipv6MulticastScope
std only.type Parameters = ()
type Strategy = TupleUnion<((u32, Arc<Just<Ipv6MulticastScope>>), (u32, Arc<Just<Ipv6MulticastScope>>), (u32, Arc<Just<Ipv6MulticastScope>>), (u32, Arc<Just<Ipv6MulticastScope>>), (u32, Arc<Just<Ipv6MulticastScope>>), (u32, Arc<Just<Ipv6MulticastScope>>), (u32, Arc<Just<Ipv6MulticastScope>>))>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for SocketAddr
Available on crate feature std only.
impl Arbitrary for SocketAddr
std only.type Parameters = ()
type Strategy = TupleUnion<((u32, Arc<MapInto<<SocketAddrV4 as Arbitrary>::Strategy, SocketAddr>>), (u32, Arc<MapInto<<SocketAddrV6 as Arbitrary>::Strategy, SocketAddr>>))>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for FpCategory
impl Arbitrary for FpCategory
type Parameters = ()
type Strategy = TupleUnion<((u32, Arc<Just<FpCategory>>), (u32, Arc<Just<FpCategory>>), (u32, Arc<Just<FpCategory>>), (u32, Arc<Just<FpCategory>>), (u32, Arc<Just<FpCategory>>))>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Option<!>
impl Arbitrary for Option<!>
type Parameters = ()
type Strategy = Just<Option<!>>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Option<ParseError>
impl Arbitrary for Option<ParseError>
type Parameters = ()
type Strategy = Just<Option<Infallible>>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for VarError
Available on non-WebAssembly and crate feature std only.
impl Arbitrary for VarError
std only.type Parameters = ()
type Strategy = TupleUnion<((u32, Arc<Just<VarError>>), (u32, Arc<Map<BoxedStrategy<OsString>, fn(<BoxedStrategy<OsString> as Strategy>::Value) -> VarError>>))>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for SeekFrom
Available on crate feature std only.
impl Arbitrary for SeekFrom
std only.type Parameters = ()
type Strategy = TupleUnion<((u32, Arc<Map<<u64 as Arbitrary>::Strategy, fn(u64) -> SeekFrom>>), (u32, Arc<Map<<i64 as Arbitrary>::Strategy, fn(i64) -> SeekFrom>>), (u32, Arc<Map<<i64 as Arbitrary>::Strategy, fn(i64) -> SeekFrom>>))>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for ErrorKind
Available on crate feature std only.
impl Arbitrary for ErrorKind
std only.type Parameters = ()
type Strategy = Union<Just<ErrorKind>>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for RecvTimeoutError
Available on crate feature std only.
impl Arbitrary for RecvTimeoutError
std only.type Parameters = ()
type Strategy = TupleUnion<((u32, Arc<Just<RecvTimeoutError>>), (u32, Arc<Just<RecvTimeoutError>>))>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for TryRecvError
Available on crate feature std only.
impl Arbitrary for TryRecvError
std only.type Parameters = ()
type Strategy = TupleUnion<((u32, Arc<Just<TryRecvError>>), (u32, Arc<Just<TryRecvError>>))>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for bool
impl Arbitrary for bool
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for char
impl Arbitrary for char
type Parameters = ()
type Strategy = CharStrategy<'static>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for f32
impl Arbitrary for f32
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for f64
impl Arbitrary for f64
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for i8
impl Arbitrary for i8
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for i16
impl Arbitrary for i16
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for i32
impl Arbitrary for i32
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for i64
impl Arbitrary for i64
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for i128
impl Arbitrary for i128
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for isize
impl Arbitrary for isize
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for u8
impl Arbitrary for u8
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for u16
impl Arbitrary for u16
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for u32
impl Arbitrary for u32
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for u64
impl Arbitrary for u64
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for u128
impl Arbitrary for u128
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for ()
impl Arbitrary for ()
type Parameters = ()
type Strategy = Just<()>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for usize
impl Arbitrary for usize
type Parameters = ()
type Strategy = Any
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Global
Available on crate feature unstable and (crate features std or alloc) only.
impl Arbitrary for Global
unstable and (crate features std or alloc) only.type Parameters = ()
type Strategy = Just<Global>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Box<str>
Available on crate feature std only.
impl Arbitrary for Box<str>
std only.type Parameters = StringParam
type Strategy = MapInto<<String as Arbitrary>::Strategy, Box<str>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Box<OsStr>
Available on crate feature std only.
impl Arbitrary for Box<OsStr>
std only.type Parameters = <String as Arbitrary>::Parameters
type Strategy = MapInto<<OsString as Arbitrary>::Strategy, Box<OsStr>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Box<Path>
Available on crate feature std only.This implementation is identical to the Arbitrary implementation for
PathBuf.
impl Arbitrary for Box<Path>
std only.This implementation is identical to the Arbitrary implementation for
PathBuf.
type Parameters = PathParams
type Strategy = MapInto<<PathBuf as Arbitrary>::Strategy, Box<Path>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for CString
Available on crate feature std only.
impl Arbitrary for CString
std only.type Parameters = SizeRange
type Strategy = Map<VecStrategy<RangeInclusive<u8>>, fn(<VecStrategy<RangeInclusive<u8>> as Strategy>::Value) -> CString>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for IntoStringError
Available on crate feature std only.
impl Arbitrary for IntoStringError
std only.type Parameters = ()
type Strategy = Map<BoxedStrategy<Vec<u8>>, fn(<BoxedStrategy<Vec<u8>> as Strategy>::Value) -> IntoStringError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Rc<str>
Available on crate feature std only.
impl Arbitrary for Rc<str>
std only.type Parameters = StringParam
type Strategy = MapInto<<String as Arbitrary>::Strategy, Rc<str>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Rc<OsStr>
Available on crate feature std only.
impl Arbitrary for Rc<OsStr>
std only.type Parameters = <String as Arbitrary>::Parameters
type Strategy = MapInto<<OsString as Arbitrary>::Strategy, Rc<OsStr>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Rc<Path>
Available on crate feature std only.This implementation is identical to the Arbitrary implementation for
PathBuf.
impl Arbitrary for Rc<Path>
std only.This implementation is identical to the Arbitrary implementation for
PathBuf.
type Parameters = PathParams
type Strategy = MapInto<<PathBuf as Arbitrary>::Strategy, Rc<Path>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for FromUtf8Error
Available on crate feature std only.
impl Arbitrary for FromUtf8Error
std only.type Parameters = ()
type Strategy = Map<BoxedStrategy<Vec<u8>>, fn(<BoxedStrategy<Vec<u8>> as Strategy>::Value) -> FromUtf8Error>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for FromUtf16Error
Available on crate feature std only.
impl Arbitrary for FromUtf16Error
std only.type Parameters = ()
type Strategy = LazyJust<FromUtf16Error, fn() -> FromUtf16Error>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for String
Available on crate feature std only.
impl Arbitrary for String
std only.Source§fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
§Panics
This implementation panics if the input is not a valid regex proptest can handle.
type Parameters = StringParam
type Strategy = &'static str
Source§impl Arbitrary for Arc<str>
Available on crate feature std only.
impl Arbitrary for Arc<str>
std only.type Parameters = StringParam
type Strategy = MapInto<<String as Arbitrary>::Strategy, Arc<str>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Arc<OsStr>
Available on crate feature std only.
impl Arbitrary for Arc<OsStr>
std only.type Parameters = <String as Arbitrary>::Parameters
type Strategy = MapInto<<OsString as Arbitrary>::Strategy, Arc<OsStr>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Arc<Path>
Available on crate feature std only.This implementation is identical to the Arbitrary implementation for
PathBuf.
impl Arbitrary for Arc<Path>
std only.This implementation is identical to the Arbitrary implementation for
PathBuf.
type Parameters = PathParams
type Strategy = MapInto<<PathBuf as Arbitrary>::Strategy, Arc<Path>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Layout
Available on crate feature unstable and (crate features std or alloc) only.
impl Arbitrary for Layout
unstable and (crate features std or alloc) only.Source§impl Arbitrary for AllocError
Available on crate feature unstable and (crate features std or alloc) only.
impl Arbitrary for AllocError
unstable and (crate features std or alloc) only.type Parameters = ()
type Strategy = Just<AllocError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for EscapeDefault
impl Arbitrary for EscapeDefault
type Parameters = ()
type Strategy = Map<<u8 as Arbitrary>::Strategy, fn(u8) -> EscapeDefault>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for BorrowError
impl Arbitrary for BorrowError
type Parameters = ()
type Strategy = LazyJust<BorrowError, fn() -> BorrowError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for BorrowMutError
impl Arbitrary for BorrowMutError
type Parameters = ()
type Strategy = LazyJust<BorrowMutError, fn() -> BorrowMutError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for CharTryFromError
Available on crate features std or alloc only.
impl Arbitrary for CharTryFromError
std or alloc only.type Parameters = ()
type Strategy = Just<CharTryFromError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for ParseCharError
Available on crate features std or alloc only.
impl Arbitrary for ParseCharError
std or alloc only.type Parameters = ()
type Strategy = IndFlatten<Map<<bool as Arbitrary>::Strategy, fn(bool) -> Just<ParseCharError>>>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for DecodeUtf16<<Vec<u16> as IntoIterator>::IntoIter>
Available on crate features std or alloc only.
impl Arbitrary for DecodeUtf16<<Vec<u16> as IntoIterator>::IntoIter>
std or alloc only.type Parameters = ()
type Strategy = Map<<Vec<u16> as Arbitrary>::Strategy, fn(Vec<u16>) -> DecodeUtf16<<Vec<u16> as IntoIterator>::IntoIter>>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for DecodeUtf16Error
Available on crate features std or alloc only.
impl Arbitrary for DecodeUtf16Error
std or alloc only.Source§impl Arbitrary for EscapeDebug
Available on crate features std or alloc only.
impl Arbitrary for EscapeDebug
std or alloc only.type Parameters = ()
type Strategy = Map<<char as Arbitrary>::Strategy, fn(char) -> EscapeDebug>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for EscapeDefault
Available on crate features std or alloc only.
impl Arbitrary for EscapeDefault
std or alloc only.type Parameters = ()
type Strategy = Map<<char as Arbitrary>::Strategy, fn(char) -> EscapeDefault>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for EscapeUnicode
Available on crate features std or alloc only.
impl Arbitrary for EscapeUnicode
std or alloc only.type Parameters = ()
type Strategy = Map<<char as Arbitrary>::Strategy, fn(char) -> EscapeUnicode>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for ToLowercase
Available on crate features std or alloc only.
impl Arbitrary for ToLowercase
std or alloc only.type Parameters = ()
type Strategy = Map<<char as Arbitrary>::Strategy, fn(char) -> ToLowercase>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for ToUppercase
Available on crate features std or alloc only.
impl Arbitrary for ToUppercase
std or alloc only.type Parameters = ()
type Strategy = Map<<char as Arbitrary>::Strategy, fn(char) -> ToUppercase>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Error
impl Arbitrary for Error
type Parameters = ()
type Strategy = Just<Error>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for AddrParseError
Available on crate feature std only.
impl Arbitrary for AddrParseError
std only.type Parameters = ()
type Strategy = Just<AddrParseError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for SocketAddrV4
Available on crate feature std only.
impl Arbitrary for SocketAddrV4
std only.Source§impl Arbitrary for SocketAddrV6
Available on crate feature std only.
impl Arbitrary for SocketAddrV6
std only.Source§impl Arbitrary for ParseFloatError
impl Arbitrary for ParseFloatError
type Parameters = ()
type Strategy = Just<ParseFloatError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for ParseIntError
impl Arbitrary for ParseIntError
type Parameters = ()
type Strategy = Just<ParseIntError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for TryFromIntError
impl Arbitrary for TryFromIntError
type Parameters = ()
type Strategy = Just<TryFromIntError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for RangeFull
Available on crate features std or alloc only.
impl Arbitrary for RangeFull
std or alloc only.type Parameters = ()
type Strategy = Just<RangeFull>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for ParseBoolError
Available on crate features std or alloc only.
impl Arbitrary for ParseBoolError
std or alloc only.type Parameters = ()
type Strategy = Just<ParseBoolError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Utf8Error
Available on crate features std or alloc only.
impl Arbitrary for Utf8Error
std or alloc only.type Parameters = ()
type Strategy = Map<(<u16 as Arbitrary>::Strategy, TupleUnion<((u32, Arc<Just<&'static [u8]>>), (u32, Arc<Just<&'static [u8]>>), (u32, Arc<Just<&'static [u8]>>), (u32, Arc<Just<&'static [u8]>>))>), fn(<(<u16 as Arbitrary>::Strategy, TupleUnion<((u32, Arc<Just<&'static [u8]>>), (u32, Arc<Just<&'static [u8]>>), (u32, Arc<Just<&'static [u8]>>), (u32, Arc<Just<&'static [u8]>>))>) as Strategy>::Value) -> Utf8Error>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for AtomicBool
Available on crate features std or alloc only.
impl Arbitrary for AtomicBool
std or alloc only.type Parameters = ()
type Strategy = Map<<bool as Arbitrary>::Strategy, fn(bool) -> AtomicBool>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for AtomicIsize
Available on crate features std or alloc only.
impl Arbitrary for AtomicIsize
std or alloc only.type Parameters = ()
type Strategy = Map<<isize as Arbitrary>::Strategy, fn(isize) -> AtomicIsize>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for AtomicUsize
Available on crate features std or alloc only.
impl Arbitrary for AtomicUsize
std or alloc only.type Parameters = ()
type Strategy = Map<<usize as Arbitrary>::Strategy, fn(usize) -> AtomicUsize>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for JoinPathsError
Available on crate feature std only.
impl Arbitrary for JoinPathsError
std only.type Parameters = ()
type Strategy = LazyJust<JoinPathsError, fn() -> JoinPathsError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for OsString
Available on crate feature std only.
impl Arbitrary for OsString
std only.type Parameters = <String as Arbitrary>::Parameters
type Strategy = MapInto<<String as Arbitrary>::Strategy, OsString>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for DirBuilder
Available on crate feature std only.
impl Arbitrary for DirBuilder
std only.type Parameters = ()
type Strategy = Map<<bool as Arbitrary>::Strategy, fn(bool) -> DirBuilder>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for DefaultHasher
Available on crate features std or alloc only.
impl Arbitrary for DefaultHasher
std or alloc only.type Parameters = ()
type Strategy = LazyJust<DefaultHasher, fn() -> DefaultHasher>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for RandomState
Available on crate features std or alloc only.
impl Arbitrary for RandomState
std or alloc only.type Parameters = ()
type Strategy = LazyJust<RandomState, fn() -> RandomState>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for PathBuf
Available on crate feature std only.This implementation accepts as its argument a PathParams struct. It generates either a
relative or an absolute path with equal probability.
impl Arbitrary for PathBuf
std only.This implementation accepts as its argument a PathParams struct. It generates either a
relative or an absolute path with equal probability.
Currently, this implementation does not generate:
- Paths that are not valid UTF-8 (this is unlikely to change)
- Paths with a
PrefixComponenton Windows, e.g.C:\(this may change in the future)
type Parameters = PathParams
type Strategy = Map<<PathParamsOutput as Arbitrary>::Strategy, fn(PathParamsOutput) -> PathBuf>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for StripPrefixError
Available on crate feature std only.
impl Arbitrary for StripPrefixError
std only.type Parameters = ()
type Strategy = Just<StripPrefixError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for BarrierWaitResult
Available on crate feature std only.
impl Arbitrary for BarrierWaitResult
std only.type Parameters = ()
type Strategy = TupleUnion<((u32, Arc<LazyJust<BarrierWaitResult, fn() -> BarrierWaitResult>>), (u32, Arc<LazyJust<BarrierWaitResult, fn() -> BarrierWaitResult>>))>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for RecvError
Available on crate feature std only.
impl Arbitrary for RecvError
std only.type Parameters = ()
type Strategy = Just<RecvError>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for WaitTimeoutResult
Available on crate feature std only.
impl Arbitrary for WaitTimeoutResult
std only.type Parameters = ()
type Strategy = TupleUnion<((u32, Arc<Just<WaitTimeoutResult>>), (u32, Arc<Just<WaitTimeoutResult>>))>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for Instant
Available on crate feature std only.
impl Arbitrary for Instant
std only.type Parameters = ()
type Strategy = Just<Instant>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for SystemTime
Available on crate feature std only.
impl Arbitrary for SystemTime
std only.type Parameters = ()
type Strategy = Map<(Any, Range<u32>), fn((i32, u32)) -> SystemTime>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl Arbitrary for NonZeroI16
impl Arbitrary for NonZeroI16
Source§impl Arbitrary for NonZeroI32
impl Arbitrary for NonZeroI32
Source§impl Arbitrary for NonZeroI64
impl Arbitrary for NonZeroI64
Source§impl Arbitrary for NonZeroI128
impl Arbitrary for NonZeroI128
Source§impl Arbitrary for NonZeroIsize
impl Arbitrary for NonZeroIsize
Source§impl Arbitrary for NonZeroU16
impl Arbitrary for NonZeroU16
Source§impl Arbitrary for NonZeroU32
impl Arbitrary for NonZeroU32
Source§impl Arbitrary for NonZeroU64
impl Arbitrary for NonZeroU64
Source§impl Arbitrary for NonZeroU128
impl Arbitrary for NonZeroU128
Source§impl Arbitrary for NonZeroUsize
impl Arbitrary for NonZeroUsize
Source§impl<'a, T: 'a + Clone, A: Arbitrary + Iterator<Item = &'a T>> Arbitrary for Cloned<A>
impl<'a, T: 'a + Clone, A: Arbitrary + Iterator<Item = &'a T>> Arbitrary for Cloned<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Cloned<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A> Arbitrary for (SyncSender<A>, Receiver<A>)
Available on crate feature std only.
impl<A> Arbitrary for (SyncSender<A>, Receiver<A>)
std only.type Parameters = ()
type Strategy = Map<<u16 as Arbitrary>::Strategy, fn(u16) -> (SyncSender<A>, Receiver<A>)>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl<A> Arbitrary for Empty<A>
impl<A> Arbitrary for Empty<A>
type Parameters = ()
type Strategy = Just<Empty<A>>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl<A: PartialOrd + Arbitrary> Arbitrary for Range<A>
Available on crate features std or alloc only.
impl<A: PartialOrd + Arbitrary> Arbitrary for Range<A>
std or alloc only.type Parameters = (<A as Arbitrary>::Parameters, <A as Arbitrary>::Parameters)
type Strategy = Map<<(A, A) as Arbitrary>::Strategy, fn((A, A)) -> Range<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: PartialOrd + Arbitrary> Arbitrary for RangeInclusive<A>
Available on crate features std or alloc only.
impl<A: PartialOrd + Arbitrary> Arbitrary for RangeInclusive<A>
std or alloc only.type Parameters = (<A as Arbitrary>::Parameters, <A as Arbitrary>::Parameters)
type Strategy = Map<<(A, A) as Arbitrary>::Strategy, fn((A, A)) -> RangeInclusive<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Debug> Arbitrary for (SyncSender<A>, IntoIter<A>)
Available on crate feature std only.
impl<A: Debug> Arbitrary for (SyncSender<A>, IntoIter<A>)
std only.type Parameters = ()
type Strategy = Map<<u16 as Arbitrary>::Strategy, fn(u16) -> (SyncSender<A>, IntoIter<A>)>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl<A: BufRead + Arbitrary> Arbitrary for Split<A>
Available on crate feature std only.
impl<A: BufRead + Arbitrary> Arbitrary for Split<A>
std only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<(A, u8) as Arbitrary>::Strategy, fn((A, u8)) -> Split<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Read + Arbitrary> Arbitrary for Take<A>
Available on crate feature std only.
impl<A: Read + Arbitrary> Arbitrary for Take<A>
std only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<(A, u64) as Arbitrary>::Strategy, fn((A, u64)) -> Take<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Read + Arbitrary, B: Read + Arbitrary> Arbitrary for Chain<A, B>
Available on crate feature std only.
impl<A: Read + Arbitrary, B: Read + Arbitrary> Arbitrary for Chain<A, B>
std only.type Parameters = (<A as Arbitrary>::Parameters, <B as Arbitrary>::Parameters)
type Strategy = Map<<(A, B) as Arbitrary>::Strategy, fn((A, B)) -> Chain<A, B>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Borrow<B>, B: ToOwned<Owned = A> + Debug + ?Sized> Arbitrary for Cow<'static, B>
Available on crate features std or alloc only.
impl<A: Arbitrary + Borrow<B>, B: ToOwned<Owned = A> + Debug + ?Sized> Arbitrary for Cow<'static, B>
std or alloc only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Cow<'static, B>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Clone> Arbitrary for Repeat<A>
impl<A: Arbitrary + Clone> Arbitrary for Repeat<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Repeat<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Ord> Arbitrary for BinaryHeap<A>
Available on crate features std or alloc only.
impl<A: Arbitrary + Ord> Arbitrary for BinaryHeap<A>
std or alloc only.type Parameters = (SizeRange, <A as Arbitrary>::Parameters)
type Strategy = BinaryHeapStrategy<<A as Arbitrary>::Strategy>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Ord> Arbitrary for IntoIter<A>
Available on crate features std or alloc only.
impl<A: Arbitrary + Ord> Arbitrary for IntoIter<A>
std or alloc only.type Parameters = <BinaryHeap<A> as Arbitrary>::Parameters
type Strategy = Map<<BinaryHeap<A> as Arbitrary>::Strategy, fn(BinaryHeap<A>) -> IntoIter<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Ord> Arbitrary for BTreeSet<A>
Available on crate features std or alloc only.
impl<A: Arbitrary + Ord> Arbitrary for BTreeSet<A>
std or alloc only.type Parameters = (SizeRange, <A as Arbitrary>::Parameters)
type Strategy = BTreeSetStrategy<<A as Arbitrary>::Strategy>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Ord> Arbitrary for IntoIter<A>
Available on crate features std or alloc only.
impl<A: Arbitrary + Ord> Arbitrary for IntoIter<A>
std or alloc only.Source§impl<A: Arbitrary + Ord, B: Arbitrary> Arbitrary for BTreeMap<A, B>
Available on crate features std or alloc only.
impl<A: Arbitrary + Ord, B: Arbitrary> Arbitrary for BTreeMap<A, B>
std or alloc only.type Parameters = (SizeRange, <A as Arbitrary>::Parameters, <B as Arbitrary>::Parameters)
type Strategy = BTreeMapStrategy<<A as Arbitrary>::Strategy, <B as Arbitrary>::Strategy>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Ord, B: Arbitrary> Arbitrary for IntoIter<A, B>
Available on crate features std or alloc only.
impl<A: Arbitrary + Ord, B: Arbitrary> Arbitrary for IntoIter<A, B>
std or alloc only.Source§impl<A: Arbitrary + Hash + Eq> Arbitrary for HashSet<A>
Available on crate features std or alloc only.
impl<A: Arbitrary + Hash + Eq> Arbitrary for HashSet<A>
std or alloc only.type Parameters = (SizeRange, <A as Arbitrary>::Parameters)
type Strategy = HashSetStrategy<<A as Arbitrary>::Strategy>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Hash + Eq> Arbitrary for IntoIter<A>
Available on crate features std or alloc only.
impl<A: Arbitrary + Hash + Eq> Arbitrary for IntoIter<A>
std or alloc only.Source§impl<A: Arbitrary + Hash + Eq, B: Arbitrary> Arbitrary for HashMap<A, B>
Available on crate features std or alloc only.
impl<A: Arbitrary + Hash + Eq, B: Arbitrary> Arbitrary for HashMap<A, B>
std or alloc only.type Parameters = (SizeRange, <A as Arbitrary>::Parameters, <B as Arbitrary>::Parameters)
type Strategy = HashMapStrategy<<A as Arbitrary>::Strategy, <B as Arbitrary>::Strategy>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Hash + Eq, B: Arbitrary> Arbitrary for IntoIter<A, B>
Available on crate features std or alloc only.
impl<A: Arbitrary + Hash + Eq, B: Arbitrary> Arbitrary for IntoIter<A, B>
std or alloc only.Source§impl<A: Arbitrary + DoubleEndedIterator> Arbitrary for Rev<A>
impl<A: Arbitrary + DoubleEndedIterator> Arbitrary for Rev<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Rev<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Iterator + Clone> Arbitrary for Cycle<A>
impl<A: Arbitrary + Iterator + Clone> Arbitrary for Cycle<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Cycle<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Iterator> Arbitrary for Enumerate<A>
impl<A: Arbitrary + Iterator> Arbitrary for Enumerate<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Enumerate<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Iterator> Arbitrary for Fuse<A>
impl<A: Arbitrary + Iterator> Arbitrary for Fuse<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Fuse<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Iterator> Arbitrary for Skip<A>
impl<A: Arbitrary + Iterator> Arbitrary for Skip<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<(A, usize) as Arbitrary>::Strategy, fn((A, usize)) -> Skip<A>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Iterator> Arbitrary for StepBy<A>
impl<A: Arbitrary + Iterator> Arbitrary for StepBy<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<(A, usize) as Arbitrary>::Strategy, fn((A, usize)) -> StepBy<A>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Iterator> Arbitrary for Take<A>
impl<A: Arbitrary + Iterator> Arbitrary for Take<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<(A, usize) as Arbitrary>::Strategy, fn((A, usize)) -> Take<A>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Iterator<Item = T>, T: Debug> Arbitrary for Peekable<A>
impl<A: Arbitrary + Iterator<Item = T>, T: Debug> Arbitrary for Peekable<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Peekable<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Iterator, B: Arbitrary + Iterator> Arbitrary for Zip<A, B>
impl<A: Arbitrary + Iterator, B: Arbitrary + Iterator> Arbitrary for Zip<A, B>
type Parameters = (<A as Arbitrary>::Parameters, <B as Arbitrary>::Parameters)
type Strategy = Map<<(A, B) as Arbitrary>::Strategy, fn((A, B)) -> Zip<A, B>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Copy> Arbitrary for Cell<A>
impl<A: Arbitrary + Copy> Arbitrary for Cell<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = MapInto<<A as Arbitrary>::Strategy, Cell<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + BufRead> Arbitrary for Lines<A>
Available on crate feature std only.
impl<A: Arbitrary + BufRead> Arbitrary for Lines<A>
std only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Lines<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary + Write> Arbitrary for LineWriter<A>
Available on crate feature std only.
impl<A: Arbitrary + Write> Arbitrary for LineWriter<A>
std only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<(A, Option<u16>) as Arbitrary>::Strategy, fn((A, Option<u16>)) -> LineWriter<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Bound<A>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for Bound<A>
std or alloc only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = TupleUnion<((u32, Arc<Map<Arc<<A as Arbitrary>::Strategy>, fn(<Arc<<A as Arbitrary>::Strategy> as Strategy>::Value) -> Bound<A>>>), (u32, Arc<Map<Arc<<A as Arbitrary>::Strategy>, fn(<Arc<<A as Arbitrary>::Strategy> as Strategy>::Value) -> Bound<A>>>), (u32, Arc<LazyJust<Bound<A>, fn() -> Bound<A>>>))>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Option<A>
impl<A: Arbitrary> Arbitrary for Option<A>
type Parameters = (Probability, <A as Arbitrary>::Parameters)
type Strategy = OptionStrategy<<A as Arbitrary>::Strategy>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Result<!, A>
impl<A: Arbitrary> Arbitrary for Result<!, A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Result<!, A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Result<ParseError, A>
impl<A: Arbitrary> Arbitrary for Result<ParseError, A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Result<Infallible, A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Result<A, !>
impl<A: Arbitrary> Arbitrary for Result<A, !>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Result<A, !>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Result<A, ParseError>
impl<A: Arbitrary> Arbitrary for Result<A, ParseError>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Result<A, Infallible>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Box<[A]>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for Box<[A]>
std or alloc only.type Parameters = <Vec<A> as Arbitrary>::Parameters
type Strategy = MapInto<<Vec<A> as Arbitrary>::Strategy, Box<[A]>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Box<A>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for Box<A>
std or alloc only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = MapInto<<A as Arbitrary>::Strategy, Box<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for IntoIter<A>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for IntoIter<A>
std or alloc only.type Parameters = <LinkedList<A> as Arbitrary>::Parameters
type Strategy = Map<<LinkedList<A> as Arbitrary>::Strategy, fn(LinkedList<A>) -> IntoIter<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for LinkedList<A>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for LinkedList<A>
std or alloc only.type Parameters = (SizeRange, <A as Arbitrary>::Parameters)
type Strategy = LinkedListStrategy<<A as Arbitrary>::Strategy>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for VecDeque<A>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for VecDeque<A>
std or alloc only.type Parameters = (SizeRange, <A as Arbitrary>::Parameters)
type Strategy = VecDequeStrategy<<A as Arbitrary>::Strategy>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Rc<[A]>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for Rc<[A]>
std or alloc only.type Parameters = <Vec<A> as Arbitrary>::Parameters
type Strategy = MapInto<<Vec<A> as Arbitrary>::Strategy, Rc<[A]>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Rc<A>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for Rc<A>
std or alloc only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = MapInto<<A as Arbitrary>::Strategy, Rc<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Arc<[A]>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for Arc<[A]>
std or alloc only.type Parameters = <Vec<A> as Arbitrary>::Parameters
type Strategy = MapInto<<Vec<A> as Arbitrary>::Strategy, Arc<[A]>>
fn arbitrary_with(a: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Arc<A>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for Arc<A>
std or alloc only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = MapInto<<A as Arbitrary>::Strategy, Arc<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Vec<A>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for Vec<A>
std or alloc only.type Parameters = (SizeRange, <A as Arbitrary>::Parameters)
type Strategy = VecStrategy<<A as Arbitrary>::Strategy>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for RefCell<A>
impl<A: Arbitrary> Arbitrary for RefCell<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = MapInto<<A as Arbitrary>::Strategy, RefCell<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for UnsafeCell<A>
impl<A: Arbitrary> Arbitrary for UnsafeCell<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = MapInto<<A as Arbitrary>::Strategy, UnsafeCell<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Reverse<A>
impl<A: Arbitrary> Arbitrary for Reverse<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Reverse<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Once<A>
impl<A: Arbitrary> Arbitrary for Once<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Once<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Discriminant<A>
impl<A: Arbitrary> Arbitrary for Discriminant<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Discriminant<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Saturating<A>
impl<A: Arbitrary> Arbitrary for Saturating<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Saturating<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Wrapping<A>
impl<A: Arbitrary> Arbitrary for Wrapping<A>
type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Wrapping<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for RangeFrom<A>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for RangeFrom<A>
std or alloc only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> RangeFrom<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for RangeTo<A>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for RangeTo<A>
std or alloc only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> RangeTo<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for RangeToInclusive<A>
Available on crate features std or alloc only.
impl<A: Arbitrary> Arbitrary for RangeToInclusive<A>
std or alloc only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> RangeToInclusive<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for AssertUnwindSafe<A>
Available on crate feature std only.
impl<A: Arbitrary> Arbitrary for AssertUnwindSafe<A>
std only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> AssertUnwindSafe<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Cursor<A>
Available on crate feature std only.
impl<A: Arbitrary> Arbitrary for Cursor<A>
std only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = Map<<A as Arbitrary>::Strategy, fn(A) -> Cursor<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for Mutex<A>
Available on crate feature std only.
impl<A: Arbitrary> Arbitrary for Mutex<A>
std only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = MapInto<<A as Arbitrary>::Strategy, Mutex<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary> Arbitrary for RwLock<A>
Available on crate feature std only.
impl<A: Arbitrary> Arbitrary for RwLock<A>
std only.type Parameters = <A as Arbitrary>::Parameters
type Strategy = MapInto<<A as Arbitrary>::Strategy, RwLock<A>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary, B: Arbitrary> Arbitrary for Result<A, B>
impl<A: Arbitrary, B: Arbitrary> Arbitrary for Result<A, B>
type Parameters = (Probability, <A as Arbitrary>::Parameters, <B as Arbitrary>::Parameters)
type Strategy = MaybeOk<<A as Arbitrary>::Strategy, <B as Arbitrary>::Strategy>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<A: Arbitrary, const N: usize> Arbitrary for [A; N]
impl<A: Arbitrary, const N: usize> Arbitrary for [A; N]
type Parameters = <A as Arbitrary>::Parameters
type Strategy = UniformArrayStrategy<<A as Arbitrary>::Strategy, [A; N]>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<H: Default + Hasher> Arbitrary for BuildHasherDefault<H>
Available on crate features std or alloc only.
impl<H: Default + Hasher> Arbitrary for BuildHasherDefault<H>
std or alloc only.type Parameters = ()
type Strategy = Just<BuildHasherDefault<H>>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl<P: Clone + Default, T: Arbitrary<Parameters = P>> Arbitrary for TrySendError<T>
Available on crate feature std only.
impl<P: Clone + Default, T: Arbitrary<Parameters = P>> Arbitrary for TrySendError<T>
std only.type Parameters = P
type Strategy = TupleUnion<((u32, Arc<Map<<T as Arbitrary>::Strategy, fn(T) -> TrySendError<T>>>), (u32, Arc<Map<<T as Arbitrary>::Strategy, fn(T) -> TrySendError<T>>>))>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T0: Arbitrary> Arbitrary for (T0,)
impl<T0: Arbitrary> Arbitrary for (T0,)
type Parameters = (<T0 as Arbitrary>::Parameters,)
type Strategy = (<T0 as Arbitrary>::Strategy,)
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T0: Arbitrary, T1: Arbitrary> Arbitrary for (T0, T1)
impl<T0: Arbitrary, T1: Arbitrary> Arbitrary for (T0, T1)
type Parameters = (<T0 as Arbitrary>::Parameters, <T1 as Arbitrary>::Parameters)
type Strategy = (<T0 as Arbitrary>::Strategy, <T1 as Arbitrary>::Strategy)
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary> Arbitrary for (T0, T1, T2)
impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary> Arbitrary for (T0, T1, T2)
type Parameters = (<T0 as Arbitrary>::Parameters, <T1 as Arbitrary>::Parameters, <T2 as Arbitrary>::Parameters)
type Strategy = (<T0 as Arbitrary>::Strategy, <T1 as Arbitrary>::Strategy, <T2 as Arbitrary>::Strategy)
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary> Arbitrary for (T0, T1, T2, T3)
impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary> Arbitrary for (T0, T1, T2, T3)
type Parameters = (<T0 as Arbitrary>::Parameters, <T1 as Arbitrary>::Parameters, <T2 as Arbitrary>::Parameters, <T3 as Arbitrary>::Parameters)
type Strategy = (<T0 as Arbitrary>::Strategy, <T1 as Arbitrary>::Strategy, <T2 as Arbitrary>::Strategy, <T3 as Arbitrary>::Strategy)
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4)
impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4)
type Parameters = (<T0 as Arbitrary>::Parameters, <T1 as Arbitrary>::Parameters, <T2 as Arbitrary>::Parameters, <T3 as Arbitrary>::Parameters, <T4 as Arbitrary>::Parameters)
type Strategy = (<T0 as Arbitrary>::Strategy, <T1 as Arbitrary>::Strategy, <T2 as Arbitrary>::Strategy, <T3 as Arbitrary>::Strategy, <T4 as Arbitrary>::Strategy)
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary, T5: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4, T5)
impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary, T5: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4, T5)
type Parameters = (<T0 as Arbitrary>::Parameters, <T1 as Arbitrary>::Parameters, <T2 as Arbitrary>::Parameters, <T3 as Arbitrary>::Parameters, <T4 as Arbitrary>::Parameters, <T5 as Arbitrary>::Parameters)
type Strategy = (<T0 as Arbitrary>::Strategy, <T1 as Arbitrary>::Strategy, <T2 as Arbitrary>::Strategy, <T3 as Arbitrary>::Strategy, <T4 as Arbitrary>::Strategy, <T5 as Arbitrary>::Strategy)
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary, T5: Arbitrary, T6: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4, T5, T6)
impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary, T5: Arbitrary, T6: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4, T5, T6)
type Parameters = (<T0 as Arbitrary>::Parameters, <T1 as Arbitrary>::Parameters, <T2 as Arbitrary>::Parameters, <T3 as Arbitrary>::Parameters, <T4 as Arbitrary>::Parameters, <T5 as Arbitrary>::Parameters, <T6 as Arbitrary>::Parameters)
type Strategy = (<T0 as Arbitrary>::Strategy, <T1 as Arbitrary>::Strategy, <T2 as Arbitrary>::Strategy, <T3 as Arbitrary>::Strategy, <T4 as Arbitrary>::Strategy, <T5 as Arbitrary>::Strategy, <T6 as Arbitrary>::Strategy)
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary, T5: Arbitrary, T6: Arbitrary, T7: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4, T5, T6, T7)
impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary, T5: Arbitrary, T6: Arbitrary, T7: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4, T5, T6, T7)
type Parameters = (<T0 as Arbitrary>::Parameters, <T1 as Arbitrary>::Parameters, <T2 as Arbitrary>::Parameters, <T3 as Arbitrary>::Parameters, <T4 as Arbitrary>::Parameters, <T5 as Arbitrary>::Parameters, <T6 as Arbitrary>::Parameters, <T7 as Arbitrary>::Parameters)
type Strategy = (<T0 as Arbitrary>::Strategy, <T1 as Arbitrary>::Strategy, <T2 as Arbitrary>::Strategy, <T3 as Arbitrary>::Strategy, <T4 as Arbitrary>::Strategy, <T5 as Arbitrary>::Strategy, <T6 as Arbitrary>::Strategy, <T7 as Arbitrary>::Strategy)
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary, T5: Arbitrary, T6: Arbitrary, T7: Arbitrary, T8: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary, T5: Arbitrary, T6: Arbitrary, T7: Arbitrary, T8: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4, T5, T6, T7, T8)
type Parameters = (<T0 as Arbitrary>::Parameters, <T1 as Arbitrary>::Parameters, <T2 as Arbitrary>::Parameters, <T3 as Arbitrary>::Parameters, <T4 as Arbitrary>::Parameters, <T5 as Arbitrary>::Parameters, <T6 as Arbitrary>::Parameters, <T7 as Arbitrary>::Parameters, <T8 as Arbitrary>::Parameters)
type Strategy = (<T0 as Arbitrary>::Strategy, <T1 as Arbitrary>::Strategy, <T2 as Arbitrary>::Strategy, <T3 as Arbitrary>::Strategy, <T4 as Arbitrary>::Strategy, <T5 as Arbitrary>::Strategy, <T6 as Arbitrary>::Strategy, <T7 as Arbitrary>::Strategy, <T8 as Arbitrary>::Strategy)
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary, T5: Arbitrary, T6: Arbitrary, T7: Arbitrary, T8: Arbitrary, T9: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
impl<T0: Arbitrary, T1: Arbitrary, T2: Arbitrary, T3: Arbitrary, T4: Arbitrary, T5: Arbitrary, T6: Arbitrary, T7: Arbitrary, T8: Arbitrary, T9: Arbitrary> Arbitrary for (T0, T1, T2, T3, T4, T5, T6, T7, T8, T9)
type Parameters = (<T0 as Arbitrary>::Parameters, <T1 as Arbitrary>::Parameters, <T2 as Arbitrary>::Parameters, <T3 as Arbitrary>::Parameters, <T4 as Arbitrary>::Parameters, <T5 as Arbitrary>::Parameters, <T6 as Arbitrary>::Parameters, <T7 as Arbitrary>::Parameters, <T8 as Arbitrary>::Parameters, <T9 as Arbitrary>::Parameters)
type Strategy = (<T0 as Arbitrary>::Strategy, <T1 as Arbitrary>::Strategy, <T2 as Arbitrary>::Strategy, <T3 as Arbitrary>::Strategy, <T4 as Arbitrary>::Strategy, <T5 as Arbitrary>::Strategy, <T6 as Arbitrary>::Strategy, <T7 as Arbitrary>::Strategy, <T8 as Arbitrary>::Strategy, <T9 as Arbitrary>::Strategy)
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T, A: Arbitrary + Iterator<Item = T>, B: Arbitrary + Iterator<Item = T>> Arbitrary for Chain<A, B>
impl<T, A: Arbitrary + Iterator<Item = T>, B: Arbitrary + Iterator<Item = T>> Arbitrary for Chain<A, B>
type Parameters = (<A as Arbitrary>::Parameters, <B as Arbitrary>::Parameters)
type Strategy = Map<<(A, B) as Arbitrary>::Strategy, fn((A, B)) -> Chain<A, B>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T: Arbitrary> Arbitrary for SendError<T>
Available on crate feature std only.
impl<T: Arbitrary> Arbitrary for SendError<T>
std only.type Parameters = <T as Arbitrary>::Parameters
type Strategy = Map<<T as Arbitrary>::Strategy, fn(T) -> SendError<T>>
fn arbitrary_with(args: Self::Parameters) -> Self::Strategy
Source§impl<T: ?Sized> Arbitrary for PhantomData<T>
impl<T: ?Sized> Arbitrary for PhantomData<T>
type Parameters = ()
type Strategy = Just<PhantomData<T>>
fn arbitrary_with(_args: Self::Parameters) -> Self::Strategy
Source§impl<Y: Arbitrary, R: Arbitrary> Arbitrary for CoroutineState<Y, R>
Available on crate features std or alloc only.
impl<Y: Arbitrary, R: Arbitrary> Arbitrary for CoroutineState<Y, R>
std or alloc only.