File tree 1 file changed +3
-3
lines changed
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] {
589
589
type Output = Vec < T > ;
590
590
591
591
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 ( ) ;
593
593
let mut result = Vec :: with_capacity ( size) ;
594
594
for v in self {
595
595
result. extend_from_slice ( v. borrow ( ) )
@@ -603,8 +603,8 @@ impl<T: Clone, V: Borrow<[T]>> SliceConcatExt<T> for [V] {
603
603
Some ( first) => first,
604
604
None => return vec ! [ ] ,
605
605
} ;
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) ;
608
608
result. extend_from_slice ( first. borrow ( ) ) ;
609
609
610
610
for v in iter {
You can’t perform that action at this time.
0 commit comments