Sha256: d17102fc5573461b33b995b5e69553f4d1115f40d70a500c6b86cdf1af766e48
Contents?: true
Size: 1.26 KB
Versions: 3
Compression:
Stored size: 1.26 KB
Contents
use { crate::{size_hint, Arbitrary, Result, Unstructured}, std::rc::Rc, }; impl<'a, A> Arbitrary<'a> for Rc<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 Rc<[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 Rc<str> { fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self> { <&str as Arbitrary>::arbitrary(u).map(Into::into) } #[inline] fn size_hint(depth: usize) -> (usize, Option<usize>) { <&str as Arbitrary>::size_hint(depth) } }
Version data entries
3 entries across 3 versions & 1 rubygems