proptest_arbitrary/_std/
mem.rs

1//! Arbitrary implementations for `std::mem`.
2
3use super::*;
4use std::mem::*;
5
6arbitrary!([A: Arbitrary<'a>] Discriminant<A>,
7    SMapped<'a, A, Self>, A::Parameters;
8    args => static_map(any_with::<A>(args), |x| discriminant(&x))
9);
10
11// The user is responsible for dropping!
12wrap_ctor!(ManuallyDrop);
13
14#[cfg(test)]
15mod test {
16    #[derive(Copy, Clone, Debug)]
17    struct DummyStruct;
18    arbitrary!(DummyStruct; DummyStruct);
19
20    no_panic_test!(
21        discriminant_struct => Discriminant<super::DummyStruct>,
22        discriminant_enum   => Discriminant<std::num::FpCategory>,
23        manually_drop       => ManuallyDrop<u8> // Trivial destructor.
24    );
25}