r_ex/
copy_from.rs

1pub trait CopyFrom<T: Sized + Copy, const N: usize> {
2    fn copy_from(&mut self, src: &[T; N]);
3}
4
5impl<T: Sized + Copy, const N: usize> CopyFrom<T, N> for [T; N] {
6    #[inline]
7    fn copy_from(&mut self, src: &Self) {
8        self.copy_from_slice(src);
9    }
10}
11
12#[cfg(test)]
13mod tests {
14    use crate::prelude::*;
15
16    #[test]
17    fn copy_from() {
18        let mut buf = [0u8; 4];
19        let val1 = [1u8; 4];
20
21        buf.copy_from(&val1);
22        assert_eq!(&buf, &val1);
23    }
24}