File tree Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Expand file tree Collapse file tree 1 file changed +3
-2
lines changed Original file line number Diff line number Diff line change @@ -1482,7 +1482,7 @@ impl<T> FromIterator<T> for Vec<T> {
14821482 None => return Vec :: new ( ) ,
14831483 Some ( element) => {
14841484 let ( lower, _) = iterator. size_hint ( ) ;
1485- let mut vector = Vec :: with_capacity ( 1 + lower) ;
1485+ let mut vector = Vec :: with_capacity ( lower. saturating_add ( 1 ) ) ;
14861486 unsafe {
14871487 ptr:: write ( vector. get_unchecked_mut ( 0 ) , element) ;
14881488 vector. set_len ( 1 ) ;
@@ -1570,10 +1570,11 @@ impl<T> Vec<T> {
15701570 let len = self . len ( ) ;
15711571 if len == self . capacity ( ) {
15721572 let ( lower, _) = iterator. size_hint ( ) ;
1573- self . reserve ( lower + 1 ) ;
1573+ self . reserve ( lower. saturating_add ( 1 ) ) ;
15741574 }
15751575 unsafe {
15761576 ptr:: write ( self . get_unchecked_mut ( len) , element) ;
1577+ // NB can't overflow since we would have had to alloc the address space
15771578 self . set_len ( len + 1 ) ;
15781579 }
15791580 }
You can’t perform that action at this time.
0 commit comments