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>> { ... } }
Required Methods
fn arbitrary<U: Unstructured + ?Sized>(u: &mut U) -> Result<Self, U::Error>
Generate arbitrary structured data from unstructured data.
Provided Methods
fn shrink(&self) -> Box<Iterator<Item = Self>>
Generate derived values which are “smaller” than the original one.
Implementors
impl Arbitrary for ()
impl Arbitrary for bool
impl Arbitrary for u8
impl Arbitrary for i8
impl Arbitrary for u16
impl Arbitrary for i16
impl Arbitrary for u32
impl Arbitrary for i32
impl Arbitrary for u64
impl Arbitrary for i64
impl Arbitrary for usize
impl Arbitrary for isize
impl Arbitrary for f32
impl Arbitrary for f64
impl Arbitrary for char
impl Arbitrary for AtomicBool
impl Arbitrary for AtomicIsize
impl Arbitrary for AtomicUsize
impl Arbitrary for Duration
impl<A: Arbitrary> Arbitrary for Option<A>
impl<A: Arbitrary, B: Arbitrary> Arbitrary for Result<A, B>
impl<Z: Arbitrary> Arbitrary for (Z,)
impl<Y: Arbitrary, Z: Arbitrary> Arbitrary for (Y, Z)
impl<X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (X, Y, Z)
impl<W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (W, X, Y, Z)
impl<V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (V, W, X, Y, Z)
impl<U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (U, V, W, X, Y, Z)
impl<T: Arbitrary, U: Arbitrary, V: Arbitrary, W: Arbitrary, X: Arbitrary, Y: Arbitrary, Z: Arbitrary> Arbitrary for (T, U, V, W, X, Y, Z)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
impl<T: Arbitrary> Arbitrary for [T; 1]
impl<T: Arbitrary> Arbitrary for [T; 2]
impl<T: Arbitrary> Arbitrary for [T; 3]
impl<T: Arbitrary> Arbitrary for [T; 4]
impl<T: Arbitrary> Arbitrary for [T; 5]
impl<T: Arbitrary> Arbitrary for [T; 6]
impl<T: Arbitrary> Arbitrary for [T; 7]
impl<T: Arbitrary> Arbitrary for [T; 8]
impl<T: Arbitrary> Arbitrary for [T; 9]
impl<T: Arbitrary> Arbitrary for [T; 10]
impl<T: Arbitrary> Arbitrary for [T; 11]
impl<T: Arbitrary> Arbitrary for [T; 12]
impl<T: Arbitrary> Arbitrary for [T; 13]
impl<T: Arbitrary> Arbitrary for [T; 14]
impl<T: Arbitrary> Arbitrary for [T; 15]
impl<T: Arbitrary> Arbitrary for [T; 16]
impl<T: Arbitrary> Arbitrary for [T; 17]
impl<T: Arbitrary> Arbitrary for [T; 18]
impl<T: Arbitrary> Arbitrary for [T; 19]
impl<T: Arbitrary> Arbitrary for [T; 20]
impl<T: Arbitrary> Arbitrary for [T; 21]
impl<T: Arbitrary> Arbitrary for [T; 22]
impl<T: Arbitrary> Arbitrary for [T; 23]
impl<T: Arbitrary> Arbitrary for [T; 24]
impl<T: Arbitrary> Arbitrary for [T; 25]
impl<T: Arbitrary> Arbitrary for [T; 26]
impl<T: Arbitrary> Arbitrary for [T; 27]
impl<T: Arbitrary> Arbitrary for [T; 28]
impl<T: Arbitrary> Arbitrary for [T; 29]
impl<T: Arbitrary> Arbitrary for [T; 30]
impl<T: Arbitrary> Arbitrary for [T; 31]
impl<T: Arbitrary> Arbitrary for [T; 32]
impl<A: Arbitrary> Arbitrary for Vec<A>
impl<K: Arbitrary + Ord, V: Arbitrary> Arbitrary for BTreeMap<K, V>
impl<A: Arbitrary + Ord> Arbitrary for BTreeSet<A>
impl<A: Arbitrary + Ord> Arbitrary for BinaryHeap<A>
impl<K: Arbitrary + Eq + Hash, V: Arbitrary> Arbitrary for HashMap<K, V>
impl<A: Arbitrary + Eq + Hash> Arbitrary for HashSet<A>
impl<A: Arbitrary> Arbitrary for LinkedList<A>
impl<A: Arbitrary> Arbitrary for VecDeque<A>
impl<A: ?Sized> Arbitrary for Cow<'static, A> where
A: ToOwned,
<A as ToOwned>::Owned: Arbitrary,impl Arbitrary for String
impl Arbitrary for CString
impl Arbitrary for OsString
impl Arbitrary for PathBuf
impl<A: Arbitrary> Arbitrary for Box<A>
impl<A: Arbitrary> Arbitrary for Box<[A]>
impl Arbitrary for Box<str>
impl<A: Arbitrary> Arbitrary for Arc<A>
impl<A: Arbitrary> Arbitrary for Rc<A>
impl<A: Arbitrary> Arbitrary for Cell<A>
impl<A: Arbitrary> Arbitrary for RefCell<A>
impl<A: Arbitrary> Arbitrary for UnsafeCell<A>
impl<A: Arbitrary> Arbitrary for Mutex<A>
impl<A: Arbitrary> Arbitrary for Empty<A>
impl<A: Arbitrary> Arbitrary for PhantomData<A>
impl<A: Arbitrary> Arbitrary for Wrapping<A>