File tree Expand file tree Collapse file tree 1 file changed +4
-10
lines changed Expand file tree Collapse file tree 1 file changed +4
-10
lines changed Original file line number Diff line number Diff line change @@ -2086,11 +2086,8 @@ impl<T> Extend<T> for Vec<T> {
2086
2086
<Self as SpecExtend < T , I :: IntoIter > >:: spec_extend ( self , iter. into_iter ( ) )
2087
2087
} else {
2088
2088
// if self has no allocation then use the more powerful from_iter specializations
2089
- let other = SpecFrom :: from_iter ( iter. into_iter ( ) ) ;
2090
- // replace self, don't run drop since self was empty
2091
- unsafe {
2092
- ptr:: write ( self , other) ;
2093
- }
2089
+ // and overwrite self
2090
+ * self = SpecFrom :: from_iter ( iter. into_iter ( ) ) ;
2094
2091
}
2095
2092
}
2096
2093
@@ -2544,11 +2541,8 @@ impl<'a, T: 'a + Copy> Extend<&'a T> for Vec<T> {
2544
2541
self . spec_extend ( iter. into_iter ( ) )
2545
2542
} else {
2546
2543
// if self has no allocation then use the more powerful from_iter specializations
2547
- let other = SpecFrom :: from_iter ( iter. into_iter ( ) ) ;
2548
- // replace self, don't run drop since self was empty
2549
- unsafe {
2550
- ptr:: write ( self , other) ;
2551
- }
2544
+ // and overwrite self
2545
+ * self = SpecFrom :: from_iter ( iter. into_iter ( ) ) ;
2552
2546
}
2553
2547
}
2554
2548
You can’t perform that action at this time.
0 commit comments