Sha256: 2ea6fe8795b644de7785ff5373ab6728399de531c2bf50b8f501d48e15dc92db
Contents?: true
Size: 1.28 KB
Versions: 3
Compression:
Stored size: 1.28 KB
Contents
use { crate::{size_hint, Arbitrary, Result, Unstructured}, std::boxed::Box, }; impl<'a, A> Arbitrary<'a> for Box<A> where A: Arbitrary<'a>, { fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self> { Arbitrary::arbitrary(u).map(Self::new) } #[inline] fn size_hint(depth: usize) -> (usize, Option<usize>) { Self::try_size_hint(depth).unwrap_or_default() } #[inline] fn try_size_hint(depth: usize) -> Result<(usize, Option<usize>), crate::MaxRecursionReached> { size_hint::try_recursion_guard(depth, <A as Arbitrary>::try_size_hint) } } impl<'a, A> Arbitrary<'a> for Box<[A]> where A: Arbitrary<'a>, { fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self> { u.arbitrary_iter()?.collect() } fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self> { u.arbitrary_take_rest_iter()?.collect() } #[inline] fn size_hint(_depth: usize) -> (usize, Option<usize>) { (0, None) } } impl<'a> Arbitrary<'a> for Box<str> { fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self> { <String as Arbitrary>::arbitrary(u).map(|x| x.into_boxed_str()) } #[inline] fn size_hint(depth: usize) -> (usize, Option<usize>) { <String as Arbitrary>::size_hint(depth) } }
Version data entries
3 entries across 3 versions & 1 rubygems