Derive macro for quickcheck::Arbitrary
.
Expands to calling Arbitrary::arbitrary
on every field of a struct.
```rust use derivequickcheckarbitrary::Arbitrary;
struct Yakshaver { id: usize, name: String, } ```
You can customise field generation by providing a callable that accepts &mut quickcheck::Gen
.
```rust
struct Yakshaver { /// Must be less than 10000 #[arbitrary(gen(|g| num::clamp(usize::arbitrary(g), 0, 10000) ))] id: usize, name: String, } ```
You can skip enum variants: ```rust
enum YakType { Domestic { name: String, }, Wild, #[arbitrary(skip)] Alien, } ```