1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
use core::ops::DivAssign; use super::Vector; impl<T: DivAssign, const N: usize> DivAssign for Vector<T, { N }> { fn div_assign(&mut self, rhs: Self) { // safe as Rhs is owned self.0 .iter_mut() .zip(rhs.0.iter()) .for_each(|(v, r)| v.div_assign(unsafe { core::ptr::read(r) })) } } impl<T: DivAssign<T> + Clone, const N: usize> DivAssign<T> for Vector<T, { N }> { fn div_assign(&mut self, rhs: T) { self.0.iter_mut().for_each(|v| v.div_assign(rhs.clone())); } }