pub trait TypeGenerator: Sized {
    // Required method
    fn generate<D>(driver: &mut D) -> Option<Self>
       where D: Driver;

    // Provided methods
    fn mutate<D>(&mut self, driver: &mut D) -> Option<()>
       where D: Driver { ... }
    fn gen() -> TypeValueGenerator<Self> { ... }
}
Expand description

Generate a value for a given type

Required Methods§

source

fn generate<D>(driver: &mut D) -> Option<Self>where D: Driver,

Generates a value with the given driver

Provided Methods§

source

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

Mutates an existing value with the given driver

source

fn gen() -> TypeValueGenerator<Self>

Returns a generator for a given type

Implementations on Foreign Types§

source§

impl<AC, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC)where AC: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator, V: TypeGenerator, W: TypeGenerator, X: TypeGenerator, Y: TypeGenerator, Z: TypeGenerator, AA: TypeGenerator, AB: TypeGenerator,

source§

impl<L, A, B, C, D, E, F, G, H, I, J, K> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L)where L: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A, B, C, D, E, F, G, H, I, J, K, L)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl<V> TypeGenerator for BTreeSet<V, Global>where V: TypeGenerator + Ord,

source§

fn generate<D>(driver: &mut D) -> Option<BTreeSet<V, Global>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl TypeGenerator for i64

source§

fn generate<D>(driver: &mut D) -> Option<i64>where D: Driver,

source§

impl<T> TypeGenerator for Cow<'static, T>where T: ToOwned + ?Sized, <T as ToOwned>::Owned: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Cow<'static, T>>where D: Driver,

source§

impl<D, A, B, C> TypeGenerator for (A, B, C, D)where D: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A, B, C, D)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl<K, V> TypeGenerator for HashMap<K, V, RandomState>where K: TypeGenerator + Hash + Eq, V: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<HashMap<K, V, RandomState>>where D: Driver,

source§

impl TypeGenerator for NonZeroU64

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroU64>where D: Driver,

source§

impl<T> TypeGenerator for RefCell<T>where T: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<RefCell<T>>where D: Driver,

source§

impl<AA, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA)where AA: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator, V: TypeGenerator, W: TypeGenerator, X: TypeGenerator, Y: TypeGenerator, Z: TypeGenerator,

source§

impl<W, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W)where W: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator, V: TypeGenerator,

source§

impl<T> TypeGenerator for UnsafeCell<T>where T: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<UnsafeCell<T>>where D: Driver,

source§

impl<A> TypeGenerator for (A,)where A: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A,)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl TypeGenerator for i16

source§

fn generate<D>(driver: &mut D) -> Option<i16>where D: Driver,

source§

impl TypeGenerator for NonZeroI8

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroI8>where D: Driver,

source§

impl TypeGenerator for AtomicU8

source§

fn generate<D>(driver: &mut D) -> Option<AtomicU8>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl TypeGenerator for AtomicUsize

source§

fn generate<D>(driver: &mut D) -> Option<AtomicUsize>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl TypeGenerator for NonZeroIsize

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroIsize>where D: Driver,

source§

impl TypeGenerator for u8

source§

fn generate<D>(driver: &mut D) -> Option<u8>where D: Driver,

source§

impl TypeGenerator for f64

source§

fn generate<D>(driver: &mut D) -> Option<f64>where D: Driver,

source§

impl<T> TypeGenerator for Cell<T>where T: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Cell<T>>where D: Driver,

source§

impl<S, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S)where S: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator,

source§

impl<N, A, B, C, D, E, F, G, H, I, J, K, L, M> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N)where N: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator,

source§

fn generate<D_>( driver: &mut D_ ) -> Option<(A, B, C, D, E, F, G, H, I, J, K, L, M, N)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl TypeGenerator for usize

source§

fn generate<D>(driver: &mut D) -> Option<usize>where D: Driver,

source§

impl<AE, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE)where AE: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator, V: TypeGenerator, W: TypeGenerator, X: TypeGenerator, Y: TypeGenerator, Z: TypeGenerator, AA: TypeGenerator, AB: TypeGenerator, AC: TypeGenerator, AD: TypeGenerator,

source§

impl<Z, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)where Z: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator, V: TypeGenerator, W: TypeGenerator, X: TypeGenerator, Y: TypeGenerator,

source§

impl<AG, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE, AF> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE, AF, AG)where AG: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator, V: TypeGenerator, W: TypeGenerator, X: TypeGenerator, Y: TypeGenerator, Z: TypeGenerator, AA: TypeGenerator, AB: TypeGenerator, AC: TypeGenerator, AD: TypeGenerator, AE: TypeGenerator, AF: TypeGenerator,

source§

impl TypeGenerator for bool

source§

fn generate<D>(driver: &mut D) -> Option<bool>where D: Driver,

source§

impl TypeGenerator for isize

source§

fn generate<D>(driver: &mut D) -> Option<isize>where D: Driver,

source§

impl TypeGenerator for NonZeroU16

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroU16>where D: Driver,

source§

impl<Q, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)where Q: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator,

source§

fn generate<D_>( driver: &mut D_ ) -> Option<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl<V> TypeGenerator for Vec<V, Global>where V: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Vec<V, Global>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<V> TypeGenerator for VecDeque<V, Global>where V: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<VecDeque<V, Global>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl TypeGenerator for u16

source§

fn generate<D>(driver: &mut D) -> Option<u16>where D: Driver,

source§

impl TypeGenerator for NonZeroI32

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroI32>where D: Driver,

source§

impl<K, A, B, C, D, E, F, G, H, I, J> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K)where K: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A, B, C, D, E, F, G, H, I, J, K)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl TypeGenerator for NonZeroU8

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroU8>where D: Driver,

source§

impl<AF, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD, AE, AF)where AF: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator, V: TypeGenerator, W: TypeGenerator, X: TypeGenerator, Y: TypeGenerator, Z: TypeGenerator, AA: TypeGenerator, AB: TypeGenerator, AC: TypeGenerator, AD: TypeGenerator, AE: TypeGenerator,

source§

impl TypeGenerator for NonZeroUsize

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroUsize>where D: Driver,

source§

impl TypeGenerator for u128

source§

fn generate<D>(driver: &mut D) -> Option<u128>where D: Driver,

source§

impl TypeGenerator for AtomicIsize

source§

fn generate<D>(driver: &mut D) -> Option<AtomicIsize>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<T> TypeGenerator for Rc<T>where T: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Rc<T>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<F, A, B, C, D, E> TypeGenerator for (A, B, C, D, E, F)where F: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A, B, C, D, E, F)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl TypeGenerator for AtomicU32

source§

fn generate<D>(driver: &mut D) -> Option<AtomicU32>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl TypeGenerator for i128

source§

fn generate<D>(driver: &mut D) -> Option<i128>where D: Driver,

source§

impl<I, A, B, C, D, E, F, G, H> TypeGenerator for (A, B, C, D, E, F, G, H, I)where I: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A, B, C, D, E, F, G, H, I)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl<V, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V)where V: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator,

source§

impl<T> TypeGenerator for Box<[T], Global>where T: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Box<[T], Global>>where D: Driver,

source§

impl<K, V> TypeGenerator for BTreeMap<K, V, Global>where K: TypeGenerator + Ord, V: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<BTreeMap<K, V, Global>>where D: Driver,

source§

impl TypeGenerator for String

source§

fn generate<D>(driver: &mut D) -> Option<String>where D: Driver,

source§

impl<E, A, B, C, D> TypeGenerator for (A, B, C, D, E)where E: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A, B, C, D, E)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl TypeGenerator for f32

source§

fn generate<D>(driver: &mut D) -> Option<f32>where D: Driver,

source§

impl TypeGenerator for AtomicBool

source§

fn generate<D>(driver: &mut D) -> Option<AtomicBool>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<U, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U)where U: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator,

source§

impl TypeGenerator for Box<str, Global>

source§

fn generate<D>(driver: &mut D) -> Option<Box<str, Global>>where D: Driver,

source§

impl TypeGenerator for AtomicI64

source§

fn generate<D>(driver: &mut D) -> Option<AtomicI64>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl TypeGenerator for NonZeroI128

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroI128>where D: Driver,

source§

impl<H, A, B, C, D, E, F, G> TypeGenerator for (A, B, C, D, E, F, G, H)where H: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A, B, C, D, E, F, G, H)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl<Left, Right> TypeGenerator for Either<Left, Right>where Left: TypeGenerator, Right: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Either<Left, Right>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<T> TypeGenerator for Box<T, Global>where T: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Box<T, Global>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl TypeGenerator for NonZeroU128

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroU128>where D: Driver,

source§

impl TypeGenerator for AtomicI8

source§

fn generate<D>(driver: &mut D) -> Option<AtomicI8>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<O, A, B, C, D, E, F, G, H, I, J, K, L, M, N> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)where O: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator,

source§

fn generate<D_>( driver: &mut D_ ) -> Option<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl TypeGenerator for i8

source§

fn generate<D>(driver: &mut D) -> Option<i8>where D: Driver,

source§

impl<C, A, B> TypeGenerator for (A, B, C)where C: TypeGenerator, A: TypeGenerator, B: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A, B, C)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl TypeGenerator for NonZeroI16

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroI16>where D: Driver,

source§

impl<J, A, B, C, D, E, F, G, H, I> TypeGenerator for (A, B, C, D, E, F, G, H, I, J)where J: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A, B, C, D, E, F, G, H, I, J)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl<V> TypeGenerator for Option<V>where V: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Option<V>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<T> TypeGenerator for Arc<T>where T: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Arc<T>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<V> TypeGenerator for HashSet<V, RandomState>where V: TypeGenerator + Hash + Eq,

source§

fn generate<D>(driver: &mut D) -> Option<HashSet<V, RandomState>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<V> TypeGenerator for BinaryHeap<V>where V: TypeGenerator + Ord,

source§

fn generate<D>(driver: &mut D) -> Option<BinaryHeap<V>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<B, A> TypeGenerator for (A, B)where B: TypeGenerator, A: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A, B)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl<AB, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB)where AB: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator, V: TypeGenerator, W: TypeGenerator, X: TypeGenerator, Y: TypeGenerator, Z: TypeGenerator, AA: TypeGenerator,

source§

impl<Y, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y)where Y: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator, V: TypeGenerator, W: TypeGenerator, X: TypeGenerator,

source§

impl TypeGenerator for AtomicI16

source§

fn generate<D>(driver: &mut D) -> Option<AtomicI16>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<R, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R)where R: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator,

source§

impl<V> TypeGenerator for LinkedList<V, Global>where V: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<LinkedList<V, Global>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl TypeGenerator for AtomicU64

source§

fn generate<D>(driver: &mut D) -> Option<AtomicU64>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<T> TypeGenerator for Range<T>where T: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Range<T>>where D: Driver,

source§

impl TypeGenerator for char

source§

fn generate<D>(driver: &mut D) -> Option<char>where D: Driver,

source§

impl TypeGenerator for AtomicI32

source§

fn generate<D>(driver: &mut D) -> Option<AtomicI32>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<X, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X)where X: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator, V: TypeGenerator, W: TypeGenerator,

source§

impl<AD, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, AA, AB, AC, AD)where AD: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator, T: TypeGenerator, U: TypeGenerator, V: TypeGenerator, W: TypeGenerator, X: TypeGenerator, Y: TypeGenerator, Z: TypeGenerator, AA: TypeGenerator, AB: TypeGenerator, AC: TypeGenerator,

source§

impl<T> TypeGenerator for PhantomData<T>

source§

fn generate<D>(_driver: &mut D) -> Option<PhantomData<T>>where D: Driver,

source§

impl TypeGenerator for NonZeroU32

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroU32>where D: Driver,

source§

impl<P, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)where P: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator,

source§

fn generate<D_>( driver: &mut D_ ) -> Option<(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl TypeGenerator for ()

source§

fn generate<D>(_driver: &mut D) -> Option<()>where D: Driver,

source§

impl<T, const LEN: usize> TypeGenerator for [T; LEN]where T: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<[T; LEN]>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<G, A, B, C, D, E, F> TypeGenerator for (A, B, C, D, E, F, G)where G: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator,

source§

fn generate<D_>(driver: &mut D_) -> Option<(A, B, C, D, E, F, G)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl TypeGenerator for AtomicU16

source§

fn generate<D>(driver: &mut D) -> Option<AtomicU16>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl TypeGenerator for u64

source§

fn generate<D>(driver: &mut D) -> Option<u64>where D: Driver,

source§

impl TypeGenerator for i32

source§

fn generate<D>(driver: &mut D) -> Option<i32>where D: Driver,

source§

impl<T> TypeGenerator for RangeInclusive<T>where T: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<RangeInclusive<T>>where D: Driver,

source§

impl TypeGenerator for Duration

source§

fn generate<D>(driver: &mut D) -> Option<Duration>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<M, A, B, C, D, E, F, G, H, I, J, K, L> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M)where M: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator,

source§

fn generate<D_>( driver: &mut D_ ) -> Option<(A, B, C, D, E, F, G, H, I, J, K, L, M)>where D_: Driver,

source§

fn mutate<D_>(&mut self, driver: &mut D_) -> Option<()>where D_: Driver,

source§

impl<T> TypeGenerator for Mutex<T>where T: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Mutex<T>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

source§

impl<T, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> TypeGenerator for (A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T)where T: TypeGenerator, A: TypeGenerator, B: TypeGenerator, C: TypeGenerator, D: TypeGenerator, E: TypeGenerator, F: TypeGenerator, G: TypeGenerator, H: TypeGenerator, I: TypeGenerator, J: TypeGenerator, K: TypeGenerator, L: TypeGenerator, M: TypeGenerator, N: TypeGenerator, O: TypeGenerator, P: TypeGenerator, Q: TypeGenerator, R: TypeGenerator, S: TypeGenerator,

source§

impl TypeGenerator for u32

source§

fn generate<D>(driver: &mut D) -> Option<u32>where D: Driver,

source§

impl TypeGenerator for NonZeroI64

source§

fn generate<D>(driver: &mut D) -> Option<NonZeroI64>where D: Driver,

source§

impl<Ok, Err> TypeGenerator for Result<Ok, Err>where Ok: TypeGenerator, Err: TypeGenerator,

source§

fn generate<D>(driver: &mut D) -> Option<Result<Ok, Err>>where D: Driver,

source§

fn mutate<D>(&mut self, driver: &mut D) -> Option<()>where D: Driver,

Implementors§