Initial vendor packages
Signed-off-by: Valentin Popov <valentin@popov.link>
This commit is contained in:
		
							
								
								
									
										19
									
								
								vendor/smallvec/src/arbitrary.rs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								vendor/smallvec/src/arbitrary.rs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
use crate::{Array, SmallVec};
 | 
			
		||||
use arbitrary::{Arbitrary, Unstructured};
 | 
			
		||||
 | 
			
		||||
impl<'a, A: Array> Arbitrary<'a> for SmallVec<A>
 | 
			
		||||
where
 | 
			
		||||
    <A as Array>::Item: Arbitrary<'a>,
 | 
			
		||||
{
 | 
			
		||||
    fn arbitrary(u: &mut Unstructured<'a>) -> arbitrary::Result<Self> {
 | 
			
		||||
        u.arbitrary_iter()?.collect()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn arbitrary_take_rest(u: Unstructured<'a>) -> arbitrary::Result<Self> {
 | 
			
		||||
        u.arbitrary_take_rest_iter()?.collect()
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fn size_hint(depth: usize) -> (usize, Option<usize>) {
 | 
			
		||||
        arbitrary::size_hint::and(<usize as Arbitrary>::size_hint(depth), (0, None))
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										2457
									
								
								vendor/smallvec/src/lib.rs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2457
									
								
								vendor/smallvec/src/lib.rs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										19
									
								
								vendor/smallvec/src/specialization.rs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								vendor/smallvec/src/specialization.rs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
			
		||||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
 | 
			
		||||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
 | 
			
		||||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
 | 
			
		||||
// option. This file may not be copied, modified, or distributed
 | 
			
		||||
// except according to those terms.
 | 
			
		||||
 | 
			
		||||
//! Implementations that require `default fn`.
 | 
			
		||||
 | 
			
		||||
use super::{Array, SmallVec, SpecFrom};
 | 
			
		||||
 | 
			
		||||
impl<'a, A: Array> SpecFrom<A, &'a [A::Item]> for SmallVec<A>
 | 
			
		||||
where
 | 
			
		||||
    A::Item: Clone,
 | 
			
		||||
{
 | 
			
		||||
    #[inline]
 | 
			
		||||
    default fn spec_from(slice: &'a [A::Item]) -> SmallVec<A> {
 | 
			
		||||
        slice.into_iter().cloned().collect()
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										1013
									
								
								vendor/smallvec/src/tests.rs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1013
									
								
								vendor/smallvec/src/tests.rs
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user