| pub(super) trait SpecFill<T> { | |
| fn spec_fill(&mut self, value: T); | |
| } | |
| impl<T: Clone> SpecFill<T> for [T] { | |
| default fn spec_fill(&mut self, value: T) { | |
| if let Some((last, elems)) = self.split_last_mut() { | |
| for el in elems { | |
| el.clone_from(&value); | |
| } | |
| *last = value | |
| } | |
| } | |
| } | |
| impl<T: Copy> SpecFill<T> for [T] { | |
| fn spec_fill(&mut self, value: T) { | |
| for item in self.iter_mut() { | |
| *item = value; | |
| } | |
| } | |
| } |