stack_array/
partial_eq.rs1use crate::*;
2
3macro_rules! __impl_slice_eq1 {
4 ([$($vars:tt)*] $lhs:ty, $rhs:ty $(where $ty:ty: $bound:ident)?) => {
5 impl<T, U, $($vars)*> PartialEq<$rhs> for $lhs
6 where
7 T: PartialEq<U>,
8 $($ty: $bound)?
9 {
10 #[inline]
11 fn eq(&self, other: &$rhs) -> bool { self[..] == other[..] }
12 }
13 }
14}
15
16__impl_slice_eq1! { [const N: usize] ArrayBuf<T, N>, ArrayBuf<U, N>}
17__impl_slice_eq1! { [const N: usize] ArrayBuf<T, N>, &[U]}
18__impl_slice_eq1! { [const N: usize] ArrayBuf<T, N>, &mut [U]}
19__impl_slice_eq1! { [const N: usize] &[T], ArrayBuf<U, N>}
20__impl_slice_eq1! { [const N: usize] &mut [T], ArrayBuf<U, N>}
21__impl_slice_eq1! { [const N: usize] ArrayBuf<T, N>, [U] }
22__impl_slice_eq1! { [const N: usize] [T], ArrayBuf<U, N> }
23
24__impl_slice_eq1! { [const N: usize] ArrayBuf<T, N>, [U; N]}
25__impl_slice_eq1! { [const N: usize] ArrayBuf<T, N>, &[U; N]}