diff options
Diffstat (limited to 'vendor/generic-array/src/impls.rs')
| -rw-r--r-- | vendor/generic-array/src/impls.rs | 269 |
1 files changed, 0 insertions, 269 deletions
diff --git a/vendor/generic-array/src/impls.rs b/vendor/generic-array/src/impls.rs deleted file mode 100644 index 47ecc1d3..00000000 --- a/vendor/generic-array/src/impls.rs +++ /dev/null @@ -1,269 +0,0 @@ -use core::borrow::{Borrow, BorrowMut};
-use core::cmp::Ordering;
-use core::fmt::{self, Debug};
-use core::hash::{Hash, Hasher};
-
-use super::{ArrayLength, GenericArray};
-
-use crate::functional::*;
-use crate::sequence::*;
-
-impl<T: Default, N> Default for GenericArray<T, N>
-where
- N: ArrayLength<T>,
-{
- #[inline(always)]
- fn default() -> Self {
- Self::generate(|_| T::default())
- }
-}
-
-impl<T: Clone, N> Clone for GenericArray<T, N>
-where
- N: ArrayLength<T>,
-{
- fn clone(&self) -> GenericArray<T, N> {
- self.map(Clone::clone)
- }
-}
-
-impl<T: Copy, N> Copy for GenericArray<T, N>
-where
- N: ArrayLength<T>,
- N::ArrayType: Copy,
-{
-}
-
-impl<T: PartialEq, N> PartialEq for GenericArray<T, N>
-where
- N: ArrayLength<T>,
-{
- fn eq(&self, other: &Self) -> bool {
- **self == **other
- }
-}
-impl<T: Eq, N> Eq for GenericArray<T, N> where N: ArrayLength<T> {}
-
-impl<T: PartialOrd, N> PartialOrd for GenericArray<T, N>
-where
- N: ArrayLength<T>,
-{
- fn partial_cmp(&self, other: &GenericArray<T, N>) -> Option<Ordering> {
- PartialOrd::partial_cmp(self.as_slice(), other.as_slice())
- }
-}
-
-impl<T: Ord, N> Ord for GenericArray<T, N>
-where
- N: ArrayLength<T>,
-{
- fn cmp(&self, other: &GenericArray<T, N>) -> Ordering {
- Ord::cmp(self.as_slice(), other.as_slice())
- }
-}
-
-impl<T: Debug, N> Debug for GenericArray<T, N>
-where
- N: ArrayLength<T>,
-{
- fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
- self[..].fmt(fmt)
- }
-}
-
-impl<T, N> Borrow<[T]> for GenericArray<T, N>
-where
- N: ArrayLength<T>,
-{
- #[inline(always)]
- fn borrow(&self) -> &[T] {
- &self[..]
- }
-}
-
-impl<T, N> BorrowMut<[T]> for GenericArray<T, N>
-where
- N: ArrayLength<T>,
-{
- #[inline(always)]
- fn borrow_mut(&mut self) -> &mut [T] {
- &mut self[..]
- }
-}
-
-impl<T, N> AsRef<[T]> for GenericArray<T, N>
-where
- N: ArrayLength<T>,
-{
- #[inline(always)]
- fn as_ref(&self) -> &[T] {
- &self[..]
- }
-}
-
-impl<T, N> AsMut<[T]> for GenericArray<T, N>
-where
- N: ArrayLength<T>,
-{
- #[inline(always)]
- fn as_mut(&mut self) -> &mut [T] {
- &mut self[..]
- }
-}
-
-impl<T: Hash, N> Hash for GenericArray<T, N>
-where
- N: ArrayLength<T>,
-{
- fn hash<H>(&self, state: &mut H)
- where
- H: Hasher,
- {
- Hash::hash(&self[..], state)
- }
-}
-
-macro_rules! impl_from {
- ($($n: expr => $ty: ty),*) => {
- $(
- impl<T> From<[T; $n]> for GenericArray<T, $ty> {
- #[inline(always)]
- fn from(arr: [T; $n]) -> Self {
- unsafe { $crate::transmute(arr) }
- }
- }
-
- #[cfg(relaxed_coherence)]
- impl<T> From<GenericArray<T, $ty>> for [T; $n] {
- #[inline(always)]
- fn from(sel: GenericArray<T, $ty>) -> [T; $n] {
- unsafe { $crate::transmute(sel) }
- }
- }
-
- impl<'a, T> From<&'a [T; $n]> for &'a GenericArray<T, $ty> {
- #[inline]
- fn from(slice: &[T; $n]) -> &GenericArray<T, $ty> {
- unsafe { &*(slice.as_ptr() as *const GenericArray<T, $ty>) }
- }
- }
-
- impl<'a, T> From<&'a mut [T; $n]> for &'a mut GenericArray<T, $ty> {
- #[inline]
- fn from(slice: &mut [T; $n]) -> &mut GenericArray<T, $ty> {
- unsafe { &mut *(slice.as_mut_ptr() as *mut GenericArray<T, $ty>) }
- }
- }
-
- #[cfg(not(relaxed_coherence))]
- impl<T> Into<[T; $n]> for GenericArray<T, $ty> {
- #[inline(always)]
- fn into(self) -> [T; $n] {
- unsafe { $crate::transmute(self) }
- }
- }
-
- impl<T> AsRef<[T; $n]> for GenericArray<T, $ty> {
- #[inline]
- fn as_ref(&self) -> &[T; $n] {
- unsafe { $crate::transmute(self) }
- }
- }
-
- impl<T> AsMut<[T; $n]> for GenericArray<T, $ty> {
- #[inline]
- fn as_mut(&mut self) -> &mut [T; $n] {
- unsafe { $crate::transmute(self) }
- }
- }
- )*
- }
-}
-
-impl_from! {
- 1 => ::typenum::U1,
- 2 => ::typenum::U2,
- 3 => ::typenum::U3,
- 4 => ::typenum::U4,
- 5 => ::typenum::U5,
- 6 => ::typenum::U6,
- 7 => ::typenum::U7,
- 8 => ::typenum::U8,
- 9 => ::typenum::U9,
- 10 => ::typenum::U10,
- 11 => ::typenum::U11,
- 12 => ::typenum::U12,
- 13 => ::typenum::U13,
- 14 => ::typenum::U14,
- 15 => ::typenum::U15,
- 16 => ::typenum::U16,
- 17 => ::typenum::U17,
- 18 => ::typenum::U18,
- 19 => ::typenum::U19,
- 20 => ::typenum::U20,
- 21 => ::typenum::U21,
- 22 => ::typenum::U22,
- 23 => ::typenum::U23,
- 24 => ::typenum::U24,
- 25 => ::typenum::U25,
- 26 => ::typenum::U26,
- 27 => ::typenum::U27,
- 28 => ::typenum::U28,
- 29 => ::typenum::U29,
- 30 => ::typenum::U30,
- 31 => ::typenum::U31,
- 32 => ::typenum::U32
-}
-
-#[cfg(feature = "more_lengths")]
-impl_from! {
- 33 => ::typenum::U33,
- 34 => ::typenum::U34,
- 35 => ::typenum::U35,
- 36 => ::typenum::U36,
- 37 => ::typenum::U37,
- 38 => ::typenum::U38,
- 39 => ::typenum::U39,
- 40 => ::typenum::U40,
- 41 => ::typenum::U41,
- 42 => ::typenum::U42,
- 43 => ::typenum::U43,
- 44 => ::typenum::U44,
- 45 => ::typenum::U45,
- 46 => ::typenum::U46,
- 47 => ::typenum::U47,
- 48 => ::typenum::U48,
- 49 => ::typenum::U49,
- 50 => ::typenum::U50,
- 51 => ::typenum::U51,
- 52 => ::typenum::U52,
- 53 => ::typenum::U53,
- 54 => ::typenum::U54,
- 55 => ::typenum::U55,
- 56 => ::typenum::U56,
- 57 => ::typenum::U57,
- 58 => ::typenum::U58,
- 59 => ::typenum::U59,
- 60 => ::typenum::U60,
- 61 => ::typenum::U61,
- 62 => ::typenum::U62,
- 63 => ::typenum::U63,
- 64 => ::typenum::U64,
-
- 70 => ::typenum::U70,
- 80 => ::typenum::U80,
- 90 => ::typenum::U90,
-
- 100 => ::typenum::U100,
- 200 => ::typenum::U200,
- 300 => ::typenum::U300,
- 400 => ::typenum::U400,
- 500 => ::typenum::U500,
-
- 128 => ::typenum::U128,
- 256 => ::typenum::U256,
- 512 => ::typenum::U512,
-
- 1000 => ::typenum::U1000,
- 1024 => ::typenum::U1024
-}
|
