pub struct ArbitraryDefault<T>(pub T);Expand description
An Arbitrary wrapper that constructs T via Default.
TestCase::Args must implement Arbitrary, but shared-state types like
AtomicBool or Mutex<Option<Waker>> typically don’t. Wrap them in
ArbitraryDefault to bridge the gap:
ⓘ
testcase!(|args: &mut ArbitraryDefault<AtomicBool>| {
let ready = &args.0;
// ...
})Tuple Fields§
§0: TTrait Implementations§
Source§impl<'a, A: Default> Arbitrary<'a> for ArbitraryDefault<A>
impl<'a, A: Default> Arbitrary<'a> for ArbitraryDefault<A>
Source§fn arbitrary(_u: &mut Unstructured<'a>) -> Result<Self>
fn arbitrary(_u: &mut Unstructured<'a>) -> Result<Self>
Generate an arbitrary value of
Self from the given unstructured data. Read moreSource§fn size_hint(_depth: usize) -> (usize, Option<usize>)
fn size_hint(_depth: usize) -> (usize, Option<usize>)
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreSource§fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>
Generate an arbitrary value of
Self from the entirety of the given
unstructured data. Read moreSource§fn try_size_hint(
depth: usize,
) -> Result<(usize, Option<usize>), MaxRecursionReached>
fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>
Get a size hint for how many bytes out of an
Unstructured this type
needs to construct itself. Read moreAuto Trait Implementations§
impl<T> Freeze for ArbitraryDefault<T>where
T: Freeze,
impl<T> RefUnwindSafe for ArbitraryDefault<T>where
T: RefUnwindSafe,
impl<T> Send for ArbitraryDefault<T>where
T: Send,
impl<T> Sync for ArbitraryDefault<T>where
T: Sync,
impl<T> Unpin for ArbitraryDefault<T>where
T: Unpin,
impl<T> UnsafeUnpin for ArbitraryDefault<T>where
T: UnsafeUnpin,
impl<T> UnwindSafe for ArbitraryDefault<T>where
T: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more