File tree Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Expand file tree Collapse file tree 1 file changed +3
-3
lines changed Original file line number Diff line number Diff line change @@ -589,7 +589,7 @@ impl<T: Clone, V: Borrow<[T]>> SliceConcatExt<T> for [V] {
589589 type Output = Vec < T > ;
590590
591591 fn concat ( & self ) -> Vec < T > {
592- let size = self . iter ( ) . fold ( 0 , |acc , v| acc + v . borrow ( ) . len ( ) ) ;
592+ let size = self . iter ( ) . map ( |slice| slice . borrow ( ) . len ( ) ) . sum ( ) ;
593593 let mut result = Vec :: with_capacity ( size) ;
594594 for v in self {
595595 result. extend_from_slice ( v. borrow ( ) )
@@ -603,8 +603,8 @@ impl<T: Clone, V: Borrow<[T]>> SliceConcatExt<T> for [V] {
603603 Some ( first) => first,
604604 None => return vec ! [ ] ,
605605 } ;
606- let size = self . iter ( ) . fold ( 0 , |acc , v| acc + v . borrow ( ) . len ( ) ) ;
607- let mut result = Vec :: with_capacity ( size + self . len ( ) ) ;
606+ let size = self . iter ( ) . map ( |slice| slice . borrow ( ) . len ( ) ) . sum :: < usize > ( ) + self . len ( ) - 1 ;
607+ let mut result = Vec :: with_capacity ( size) ;
608608 result. extend_from_slice ( first. borrow ( ) ) ;
609609
610610 for v in iter {
You can’t perform that action at this time.
0 commit comments