We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 4499eda + 4ac126e commit 304cd02Copy full SHA for 304cd02
src/vec.rs
@@ -680,10 +680,19 @@ where
680
N: ArrayLength<T>,
681
{
682
fn clone(&self) -> Self {
683
- Self {
684
- vec: self.vec.clone(),
685
- next: self.next,
+ let mut vec = Vec::new();
+
+ if self.next < self.vec.len() {
686
+ let s = unsafe {
687
+ slice::from_raw_parts(
688
+ (self.vec.0.buffer.as_ptr() as *const T).add(self.next),
689
+ self.vec.len() - self.next,
690
+ )
691
+ };
692
+ vec.extend_from_slice(s).ok();
693
}
694
695
+ Self { vec, next: 0 }
696
697
698
0 commit comments