Trait arbitrary::Arbitrary[][src]

pub trait Arbitrary: Sized + 'static {
    fn arbitrary<U: Unstructured + ?Sized>(u: &mut U) -> Result<Self, U::Error>;

    fn shrink(&self) -> Box<Iterator<Item = Self>> { ... }
}

A trait to generate and shrink arbitrary types from an Unstructured pool of bytes.

Required Methods

Generate arbitrary structured data from unstructured data.

Provided Methods

Generate derived values which are “smaller” than the original one.

Implementations on Foreign Types

impl Arbitrary for ()
[src]

impl Arbitrary for bool
[src]

impl Arbitrary for u8
[src]

impl Arbitrary for i8
[src]

impl Arbitrary for u16
[src]

impl Arbitrary for i16
[src]

impl Arbitrary for u32
[src]

impl Arbitrary for i32
[src]

impl Arbitrary for u64
[src]

impl Arbitrary for i64
[src]

impl Arbitrary for usize
[src]

impl Arbitrary for isize
[src]

impl Arbitrary for f32
[src]

impl Arbitrary for f64
[src]

impl Arbitrary for char
[src]

impl Arbitrary for AtomicBool
[src]

impl Arbitrary for AtomicIsize
[src]

impl Arbitrary for AtomicUsize
[src]

impl Arbitrary for Duration
[src]

impl<A: Arbitrary> Arbitrary for Option<A>
[src]

impl<A: Arbitrary, B: Arbitrary> Arbitrary for Result<A, B>
[src]

impl<Z: Arbitrary> Arbitrary for (Z,)
[src]

impl<Y: Arbitrary, Z: Arbitrary> Arbitrary for (Y, Z)
[src]

impl<X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (X, Y, Z)
[src]

impl<W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (W, X, Y, Z)
[src]

impl<V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (V, W, X, Y, Z)
[src]

impl<U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (U, V, W, X, Y, Z)
[src]

impl<T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (T, U, V, W, X, Y, Z)
[src]

impl<S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (S, T, U, V, W, X, Y, Z)
[src]

impl<R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (R, S, T, U, V, W, X, Y, Z)
[src]

impl<Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<L: Arbitrary, M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<K: Arbitrary, L: Arbitrary, M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<J: Arbitrary, K: Arbitrary, L: Arbitrary, M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<I: Arbitrary, J: Arbitrary, K: Arbitrary, L: Arbitrary, M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<H: Arbitrary, I: Arbitrary, J: Arbitrary, K: Arbitrary, L: Arbitrary, M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<G: Arbitrary, H: Arbitrary, I: Arbitrary, J: Arbitrary, K: Arbitrary, L: Arbitrary, M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<F: Arbitrary, G: Arbitrary, H: Arbitrary, I: Arbitrary, J: Arbitrary, K: Arbitrary, L: Arbitrary, M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<E: Arbitrary, F: Arbitrary, G: Arbitrary, H: Arbitrary, I: Arbitrary, J: Arbitrary, K: Arbitrary, L: Arbitrary, M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

impl<D: Arbitrary, E: Arbitrary, F: Arbitrary, G: Arbitrary, H: Arbitrary, I: Arbitrary, J: Arbitrary, K: Arbitrary, L: Arbitrary, M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z)
[src]

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

impl<B: Arbitrary, C: Arbitrary, D: Arbitrary, E: Arbitrary, F: Arbitrary, G: Arbitrary, H: Arbitrary, I: Arbitrary, J: Arbitrary, K: Arbitrary, L: Arbitrary, M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (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)
[src]

impl<A: Arbitrary, B: Arbitrary, C: Arbitrary, D: Arbitrary, E: Arbitrary, F: Arbitrary, G: Arbitrary, H: Arbitrary, I: Arbitrary, J: Arbitrary, K: Arbitrary, L: Arbitrary, M: Arbitrary, N: Arbitrary, O: Arbitrary, P: Arbitrary, Q: Arbitrary, R: Arbitrary, S: Arbitrary, T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary 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)
[src]

impl<T: Arbitrary> Arbitrary for [T; 1]
[src]

impl<T: Arbitrary> Arbitrary for [T; 2]
[src]

impl<T: Arbitrary> Arbitrary for [T; 3]
[src]

impl<T: Arbitrary> Arbitrary for [T; 4]
[src]

impl<T: Arbitrary> Arbitrary for [T; 5]
[src]

impl<T: Arbitrary> Arbitrary for [T; 6]
[src]

impl<T: Arbitrary> Arbitrary for [T; 7]
[src]

impl<T: Arbitrary> Arbitrary for [T; 8]
[src]

impl<T: Arbitrary> Arbitrary for [T; 9]
[src]

impl<T: Arbitrary> Arbitrary for [T; 10]
[src]

impl<T: Arbitrary> Arbitrary for [T; 11]
[src]

impl<T: Arbitrary> Arbitrary for [T; 12]
[src]

impl<T: Arbitrary> Arbitrary for [T; 13]
[src]

impl<T: Arbitrary> Arbitrary for [T; 14]
[src]

impl<T: Arbitrary> Arbitrary for [T; 15]
[src]

impl<T: Arbitrary> Arbitrary for [T; 16]
[src]

impl<T: Arbitrary> Arbitrary for [T; 17]
[src]

impl<T: Arbitrary> Arbitrary for [T; 18]
[src]

impl<T: Arbitrary> Arbitrary for [T; 19]
[src]

impl<T: Arbitrary> Arbitrary for [T; 20]
[src]

impl<T: Arbitrary> Arbitrary for [T; 21]
[src]

impl<T: Arbitrary> Arbitrary for [T; 22]
[src]

impl<T: Arbitrary> Arbitrary for [T; 23]
[src]

impl<T: Arbitrary> Arbitrary for [T; 24]
[src]

impl<T: Arbitrary> Arbitrary for [T; 25]
[src]

impl<T: Arbitrary> Arbitrary for [T; 26]
[src]

impl<T: Arbitrary> Arbitrary for [T; 27]
[src]

impl<T: Arbitrary> Arbitrary for [T; 28]
[src]

impl<T: Arbitrary> Arbitrary for [T; 29]
[src]

impl<T: Arbitrary> Arbitrary for [T; 30]
[src]

impl<T: Arbitrary> Arbitrary for [T; 31]
[src]

impl<T: Arbitrary> Arbitrary for [T; 32]
[src]

impl<A: Arbitrary> Arbitrary for Vec<A>
[src]

impl<K: Arbitrary + Ord, V: Arbitrary> Arbitrary for BTreeMap<K, V>
[src]

impl<A: Arbitrary + Ord> Arbitrary for BTreeSet<A>
[src]

impl<A: Arbitrary + Ord> Arbitrary for BinaryHeap<A>
[src]

impl<K: Arbitrary + Eq + Hash, V: Arbitrary> Arbitrary for HashMap<K, V>
[src]

impl<A: Arbitrary + Eq + Hash> Arbitrary for HashSet<A>
[src]

impl<A: Arbitrary> Arbitrary for LinkedList<A>
[src]

impl<A: Arbitrary> Arbitrary for VecDeque<A>
[src]

impl<A: ?Sized> Arbitrary for Cow<'static, A> where
    A: ToOwned,
    <A as ToOwned>::Owned: Arbitrary
[src]

impl Arbitrary for String
[src]

impl Arbitrary for CString
[src]

impl Arbitrary for OsString
[src]

impl Arbitrary for PathBuf
[src]

impl<A: Arbitrary> Arbitrary for Box<A>
[src]

impl<A: Arbitrary> Arbitrary for Box<[A]>
[src]

impl Arbitrary for Box<str>
[src]

impl<A: Arbitrary> Arbitrary for Arc<A>
[src]

impl<A: Arbitrary> Arbitrary for Rc<A>
[src]

impl<A: Arbitrary> Arbitrary for Cell<A>
[src]

impl<A: Arbitrary> Arbitrary for RefCell<A>
[src]

impl<A: Arbitrary> Arbitrary for UnsafeCell<A>
[src]

impl<A: Arbitrary> Arbitrary for Mutex<A>
[src]

impl<A: Arbitrary> Arbitrary for Empty<A>
[src]

impl<A: Arbitrary> Arbitrary for PhantomData<A>
[src]

impl<A: Arbitrary> Arbitrary for Wrapping<A>
[src]

Implementors