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}